官网:https://www.amcharts.com/demos/

属性介绍:https://docs.amcharts.com/3/javascriptcharts/AmLegend

安装

bower install amcharts3

npm install amcharts/amcharts3、

<link rel="stylesheet" href="scripts/lib/amcharts3/amcharts/plugins/export/export.css"/>

<!--amchart-->
<script src="scripts/lib/amcharts3/amcharts/amcharts.js"></script>
<script src="scripts/lib/amcharts3/amcharts/serial.js"></script> //折线图 柱状图
<script src="scripts/lib/amcharts3/amcharts/pie.js"></script> //饼图
<script src="scripts/lib/amcharts3/amcharts/plugins/export/export.min.js"></script>
<script src="scripts/lib/amcharts3/amcharts/themes/light.js"></script>

基础用法

<div id="chartdiv" class="chart"></div>

AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"colors": [
"#78eeff",
"#ff5dfd",
"#a970ff",
"#1b9cff",
"#38cf91",
"#eaf135",
"#ff8625",
"#ff5555"
],
"fontSize": 12,
"dataProvider": lineRowCallDropRateData, //值
"sequencedAnimation": false, //设置图表没有动画
"startDuration": 0.5,
"graphs": [{
"balloonText": "Profit: <b>[[value]]</b>",
"title": "Profit",
"valueField": "Profit", //柱状图 值的来源键名
"fillAlphas": 0.9,
"lineAlpha": 0.2,
"type": "column", //柱状图
"labelText": "[[value]]", //柱状图上显示值
"color": "#fff", //柱状图上显示值的颜色
animationPlayed: true //柱状图没有动画
}],
"chartCursor": {
"cursorAlpha": 0
},
"categoryField": "category",
"valueAxes": [{
"axisThickness": 1,
"axisAlpha": 1,
"gridAlpha": 0.4, //平行X轴的图表内线条粗细
"gridColor": "#596F79",
"position": "left",
"axisColor": "#56707C", //Y轴线颜色
"color": "#90a4aa", //Y轴字体
minimum: 0
}],
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 1,
"fillAlpha": 0.05,
"gridAlpha": 0,
"axisColor": "#56707C", //X轴线颜色
"color": "#90a4aa", //X轴字体
gridCount: lineRowCallDropRateData.length,
autoGridCount: false,
labelRotation: 40 //标签的倾斜角度
},
"export": {
"enabled": true
},
"legend": {
"enabled": true,
"color": "#fff",
"useGraphSettings": true,
"position": "top",
"align": "right",
"valueWidth": 0,
"fontSize": 12, //图表右上角 线段文字大小
"markerSize": 16
}
})

动画

  • "sequencedAnimation": false, //设置图表没有动画
  • startDuration: 0, //设置饼图没有动画

valueAxes(Y轴)

  • gridAlpha: 0    //网格透明度

  • "axisColor": "#56707C",  //Y轴线颜色

  • "color": "#90a4aa",  //Y轴字体
  • "gridAlpha": 0.4,   //平行X轴的图表内线条粗细

categoryAxis(X轴)

  • fillAlpha:0.05    //折线图 图形后边的 背景,默认是透明颜色,不会出现看似柱状图的背景

  • gridCount:10     //标签个数--可自定义为值数组的长度

  • autoGridCount: false, //是否允许自动设置X轴标签

  • labelRotation: 40 //标签的倾斜角度

  • 设置X轴的标签样式:

    labelFunction: function (value, valueText, valueAxis) {
    if (value) {
    return $filter('date')(new Date(value), 'MMM yyyy');
    }
    }

graphs(图形):[{}]

{
"balloonText": oneTechnology.DisplayName + ": <b>[[value]]</b>",
"bullet": graphType, //折线图中折点显示图标
"bulletSize": 7,
"title": oneTechnology.DisplayName,
"valueField": oneTechnology.DisplayName,
"fillAlphas": 0,
"lineThickness": 3, //折线的粗细程度
"animationPlayed": true,
hidden: true, //折线是否可见
visibleInLegend: false //图例是否可见
}
  • "bullet": "none" "round" "square",
  • "bulletSize": 5   //折线图是否有折点,显示多大
  • "animationPlayed": true   //出现柱状图/折线图时没有动画
  • "type": "column",   //柱状图"
  • labelText": "[[value]]",   //柱状图上显示值
  • "color": "#fff",   //柱状图上显示值的颜色
  • hidden: true,   //折线是否可见
  • visibleInLegend: false   //图例是否可见

饼图标签显示

"labelsEnabled": false   //饼图上不显示标签:

设置饼图显示标签样式:

"labelFunction": function (value, valueText, valueAxis) {
return parseFloat(value.percents).toFixed(1) + '%'
}

图表图例

"legend": {
"enabled": true,
"color": "#fff",
"useGraphSettings": true,
"position": "top",
"fontSize": fontSize, // 图例字体大小
"align": "right",
markerSize: markerSize // 图例图标大小
equalWidths:false, //图例是否保持等宽
"valueWidth": 0, //值显示的宽度,等于0时不显示值
}

当数据需定时刷新时,只是刷新数据而不是刷新图表

首先简单创建一个图表:
var loadComplainChart = AmCharts.makeChart("chartcomplaindiv", {
"theme": "dark",
"type": "serial",
"colors": [
"#00FCFC"
],
"dataProvider": dailyUserComplain,
} 当数据在刷新变化时,只需要改变data就可以了:
loadComplainChart.dataProvider = dailyUserComplain;
loadComplainChart.validateData(); 当设置只刷新数据时,会发现之前设置的X轴标签样式会失效,这时我们需要重新定义X轴标签的个数以及是否需要自动显示X轴标签:
loadComplainChart.categoryAxis.autoGridCount = false;
loadComplainChart.categoryAxis.gridCount = dailyUserComplain.length;
05-27 06:25
查看更多