前言:最近项目要大量使用echarts图表,为保证项目进度能够顺利进行,研究一下吧。
Echarts图表主要通过传入的option对象来映射图表。
官方示例如下:
option = {// 图例legend: {// data数组里面的字段要和series数组里面的name对应// 源码应该是拿下标的字段和series的name属性值做对比data: ['秀儿','大狗']},// X轴,xAxis: {/**type的注意事项1. category是类目轴.竖着放X轴设为类目轴,横着放则y轴为类目轴,其他值value用于连续数据,time是时间2. 如果xAxis.data有数据,type就算不写也会值默认改成'category'3. 按照推理,如果yAxis.data有数据不就是两个类目轴了吗,那怎么渲染经过试验,如果x和y轴对象都有data属性是错误渲染。。所以:x和y轴只有一个类目轴,如果x轴是类目轴,yAxis.type值就应该是value。反之亦然**/type: 'category',data: ['语文', '数学', '英语', '体育', '化学', '历史']},// y轴yAxis: {// category是类目轴,value用于连续数据,time是时间type: 'category',data: ['语文', '数学', '英语', '体育', '化学', '历史']},// 系列列表,/**series的注意事项1.type:通过type来决定图表类型line bar pie2.name:每个对象的name尽量写上,和类目轴的顺序保持一致,另外通用配置legend也会用到3.data:其实就是二维坐标系中非类目轴的值4.series数组中每一项都对应一个系列的数据series.xxx.markPoint 图表标注series.xxx.markLine 图表标线serises.xxx.label 每个柱 数值显示serises.xxx.barWidth 柱体的宽度serises.xxx.emphasis 高亮的图形样式和标签样式/或者说鼠标悬停时serises.xxx.itemStyle 每根柱的样式serises.xxx.grid 控制边距**/series: [{// 数据name: '秀儿',type: 'bar',data: [5, 20, 36, 10, 10, 20],//// 每个柱数值显示label: {// 显示开关show :true,// 旋转角度 从 -90 度到 90 度。正值是逆时针。直接写数字rotate: 20,/**位置(值比较多用到再说吧)三种1.语义声明=> top left等等2.像素值=> position: [10, 10],3.百分比=> position: ['50%', '50%']**/position: 'top'},// 每根柱的样式itemStyle:{color: (params)=>{let colorList = ['red'];return colorList[params.dataIndex] || 'red';}},// 控制边距grid: {left: '0%',right:'10%',containLabel: true,},// 最大最小值的写法markPoint: {data:[{type: 'max', name: '最大值'},{type: 'min', name: '最小值'},]},// 平均值的写法markLine: {data: [{type: 'average', name: '平均值'}]}},{name: '大狗',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};
