一、引入echarts文件:
<script type="text/javascript" src="echarts.js"></script>
二、HTML代码:
<div style=" 100%; height: 400px;" id="main"> </div>
三、JS代码(加载图表值的方法):
/** * @param {String} p_chart 初始化报表的id * @param {Object} p_obj 初始化报表的数据对象 * @param {String} p_obj.xAxis 初始化报表x轴的数据 * @param {String} p_obj.barData 初始化报表的柱状图数据列值 * @param {String} p_obj.lineData 初始化报表的折线图数据列值 */ function _loadChart(p_chart, p_obj) { // 加载图表的方法 if(this[p_chart]) { // 判断该图表是否存在,存在即只替换值 var option = { xAxis: { data: p_obj.xAxis }, series: {[ {data: p_obj.barData}, {data: p_obj.lineData} ]} } } else { var option = { tooltip: { trigger: 'item', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选‘line | shadow’ } }, calculable: true, legend: { show: true, orient: 'horizontal', x: 'right', //x轴方向上的位置 y: 'top', //y轴方向上的位置 textStyle: { color: '#2DFCFF', fontSize: 14, fontFamily: 'MicroSoft YaHei' }, itemGap: 20 //legend之间的间距,默认为10 }, xAxis: [{ type: 'category', top: 10, axisTick: false, // 坐标轴小标记,默认为true axisLabel: { textStyle: { color: '#CCC', fontSize: 12, fontFamily: 'Microsoft YaHei' } }, axisLine: { lineStyle: { color: '#00F3FF' } }, data: p_obj.xAxis }], yAxis: [{ type: 'value', axisTick: false, axisLabel: { textStyle: { color: '#CCC', fontSize: 12, fontFamily: 'Microsoft YaHei' } }, axisLine: { lineStyle: { color: '#00F3FF' } }, spllitLine: false // y轴分割线,默认为true },{ show: false }], series: [{ name: '实有人口', type: 'bar', yAxisIndex: 0, // 对应y轴(yAxis)第一组数据 barWidth: 20, itemStyle: { normal: { barBorderRadius: 30, //柱子的圆角 color: new echarts.graphic.LinearGradient( //柱子的渐变色 0, 0, 0, 1, [{ offset: 0, color: 'rgba(249, 241, 4, 1)' }, { offset: 1, color: 'rgba(249, 241, 4, 0)' }] ) } }, data: p_obj.barData },{ name: '报警数', type: 'line', // 折线图 yAxisIndex: 1, // 对应y轴(yAxis)第二组数据 symbol: 'emptyCircle', // 标记的图形,包括'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow',也可以通过'image://url'设置为图片。可以通过 'path://'将图标设置为任意的矢量路径。 symbolSize: 10, //标记的大小。可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,例如 [20, 10] 表示标记宽为20,高为10。 label: { normal: { show: false, position: 'top' } }, itemStyle: { normal: { color: '#FAE200' } }, lineStyle: { //线条样式 normal: { 3, shadowColor: 'rgba(0, 0, 0, 0.4)', //阴影颜色 shadowBlur: 10, //图形阴影的模糊大小。该属性配合 shadowColor,shadowOffsetX, shadowOffsetY 一起设置图形的阴影效果。 shadowOffsetY: 10 //阴影垂直方向上的偏移距离 } }, data: p_obj.lineData }] }; this[p_chart] = echarts.init(document.getElementById(p_chart)); } this[p_chart].setOption(option); // 设置报表数据 }
四、JS方法(调用加载图表方法):
_loadChart("main", { xAxis: ['车辆卡口', '人员卡口'], barData: [(Math.random() * 100).toFixed(0), (Math.random() * 100).toFixed(0)], lineData: [(Math.random() * 100).toFixed(0), (Math.random() * 100).toFixed(0)] })