echarts

首先要下载最新echarts,旧版可能很多功能不支持

1.饼图中心写文字


 
 
  1. var myChart = echarts.init(document.getElementById( 'row-1-1'));
  2. var option = {
  3. color:[ "#53647E", "#05B6F0"],
  4. title: {
  5. text: '23.5',
  6. textStyle: {
  7. fontSize: 18,
  8. //fontFamily:'sans-serif',
  9. fontStyle: 'normal',
  10. color: '#05B5EE',
  11. verticalAlign: "top"
  12. },
  13. subtext: [ '系统总体容量\n'],
  14. subtextStyle:{
  15. fontSize: 10,
  16. color: '#05B5EE'
  17. },
  18. /*itemGap:'50px',*/
  19. x: 'center',
  20. y: 'center',
  21. top: '35%'
  22. },
  23. tooltip: {
  24. trigger: 'item',
  25. formatter: "{a} <br/>{b}: {c} ({d}%)"
  26. },
  27. series: [
  28. {
  29. //name:'系统容量',
  30. type: 'pie',
  31. radius: [ '65%', '80%'],
  32. avoidLabelOverlap: false,
  33. label: {
  34. normal: {
  35. show: false,
  36. position: 'center'
  37. },
  38. emphasis: {
  39. show: false,
  40. textStyle: {
  41. fontSize: '30',
  42. fontWeight: 'bold'
  43. }
  44. }
  45. },
  46. labelLine: {
  47. normal: {
  48. show: false
  49. }
  50. },
  51. data:[
  52. { value: 11, name: '系统剩余容量'},
  53. { value: 12.5, name: '系统使用容量'},
  54. ]
  55. }
  56. ]
  57. };
  58. myChart.setOption(option);

设置title中的text和subtext即可,样式可以自定义

2.关于坐标轴和分割线的设置


 
 
  1. var myChart = echarts.init(document.getElementById( 'row-2-2'));
  2. var option = {
  3. color: [ '#60CF54', '#5EB95E', '#c23531', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],
  4. tooltip : {
  5. trigger: 'axis',
  6. axisPointer : { // 坐标轴指示器,坐标轴触发有效
  7. type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  8. }
  9. },
  10. grid: {
  11. top: '15%',
  12. left: '3%',
  13. right: '4%',
  14. bottom: '5%',
  15. containLabel: true,
  16. borderColor: "#F5F5F5"
  17. },
  18. xAxis :{ //x坐标
  19. type : 'category',
  20. data : [],
  21. axisTick: { //刻度
  22. show: false, //不显示刻度
  23. },
  24. show: false, //横坐标直接不显示
  25. },
  26. yAxis : [
  27. {
  28. type : 'value',
  29. nameTextStyle: {
  30. color: '#fff'
  31. },
  32. axisLine:{ //坐标轴轴线
  33. show: false, //不显示坐标线
  34. lineStyle:{
  35. color: '#fff'
  36. }
  37. },
  38. splitNumber: 1, //左边分割数,1位分割一次
  39. axisTick: { //刻度
  40. show: false, //不显示刻度
  41. },
  42. axisLabel:{ //刻度标签
  43. color: "white",
  44. show: true,
  45. fontSize: 10
  46. },
  47. splitLine: {
  48. show: false //分割线
  49. }
  50. }
  51. ],
  52. series : [{
  53. type: "bar",
  54. barCategoryGap: '50%',
  55. data:[ 100, 80, 60, 50, 20, 60, 70, 90, 20, 100, 50]
  56. }]
  57. };
  58. myChart.setOption(option);

主要就是设置xAxis和yAxis中的axisLine,axisLabel,axisTick,splitLine,splitNumber等,具体参数看手册即可

3.关于柱状图改变柱子间隔问题


 
 
  1. series : [{
  2. type: "bar",
  3. barCategoryGap: '50%',
  4. data:[ 100, 80, 60, 50, 20, 60, 70, 90, 20, 100, 50]
  5. }]

如果只有一组数据,想调整柱子间隔,在series中使用barCategoryGap调整即可

如果有多组数据,则需要使用barGap来调整类目之间的间距

4.关于一组数据改变柱状图颜色问题


 
 
  1. series : [{
  2. type: "bar",
  3. barCategoryGap: '70%',
  4. data:[ 100, 80, 60, 50, 20],
  5. itemStyle: {
  6. normal:{
  7. color: function (params){
  8. var colorList = [ '#455B72', '#A5AFB5', '#D44191', '#45A5D5', '#15BCB5'];
  9. return colorList[params.dataIndex];
  10. }
  11. },
  12. },
  13. markLine : {
  14. data : [
  15. { type : 'average', name: '平均值'}
  16. ],
  17. lineStyle: {
  18. color: '#ddd',
  19. width: 1,
  20. type: 'dashed',
  21. /*shadowBlur: ...,
  22. shadowColor: ...,
  23. shadowOffsetX: 0,
  24. shadowOffsetY: 0,
  25. opacity: ...,
  26. curveness: 0,*/
  27. }
  28. }
  29. }]

在series中设置itemStyle,像这个设置颜色即可

5.关于折线图不同数值区间颜色不同问题


 
 
  1. var option = {
  2. title: {
  3. text: 'ECharts 入门示例'
  4. },
  5. tooltip: {},
  6. legend: {
  7. data:[ '销量']
  8. },
  9. xAxis: {
  10. data: [ "衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
  11. },
  12. yAxis: {},
  13. visualMap: { //区间内控制显示颜色
  14. show: false,
  15. dimension: 1,
  16. pieces: [[{gte: 7, lte: 15, color: '#7547A2'},{gte: 15, lte: 30, color: '#000'}]], //设置折线什么区间显示什么颜色
  17. seriesIndex: 0,
  18. outOfRange: { //设置区间外的颜色
  19. color: 'red'
  20. }
  21. },
  22. series: [{
  23. name: '销量',
  24. type: 'line',
  25. areaStyle: {normal: {}}, //加上这个使折线下方填充颜色
  26. data: [ 5, 20, 36, 10, 10, 20]
  27. }
  28. ]
  29. };

在visualMap中设置pieces,其中可设置最大最小区间内折线的颜色,series中如果设置了areaStyle,则对应的区间内填充颜色也会相应改变,就像图中那样

附visualMap的配置


 
 
  1. visualMap=[ //视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素。视觉元素可以是:symbol: 图元的图形类别。symbolSize: 图元的大小。color: 图元的颜色。
  2. // colorAlpha: 图元的颜色的透明度。opacity: 图元以及其附属物(如文字标签)的透明度。colorLightness: 颜色的明暗度。colorSaturation: 颜色的饱和度。colorHue: 颜色的色调。
  3. {
  4. show: true, //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
  5. type: 'continuous', // 定义为连续型 viusalMap
  6. min: 10, //指定 visualMapContinuous 组件的允许的最小值
  7. max: 100, //指定 visualMapContinuous 组件的允许的最大值
  8. range:[ 15, 40], //指定手柄对应数值的位置。range 应在 min max 范围内
  9. calculable: true, //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)
  10. realtime: true, //拖拽时,是否实时更新
  11. inverse: false, //是否反转 visualMap 组件
  12. precision: 0, //数据展示的小数精度,默认为0,无小数点
  13. itemWidth: 20, //图形的宽度,即长条的宽度。
  14. itemHeight: 140, //图形的高度,即长条的高度。
  15. align: "auto", //指定组件中手柄和文字的摆放位置.可选值为:'auto' 自动决定。'left' 手柄和label在右。'right' 手柄和label在左。'top' 手柄和label在下。'bottom' 手柄和label在上。
  16. text:[ 'High', 'Low'], //两端的文本
  17. textGap: 10, //两端文字主体之间的距离,单位为px
  18. dimension: 2, //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
  19. seriesIndex: 1, //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
  20. hoverLink: true, //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
  21. inRange:{ //定义 在选中范围中 的视觉元素
  22. color: [ '#121122', 'rgba(3,4,5,0.4)', 'red'],
  23. symbolSize: [ 30, 100]
  24. },
  25. outOfRange:{ //定义 在选中范围外 的视觉元素。
  26. color: [ '#121122', 'rgba(3,4,5,0.4)', 'red'],
  27. symbolSize: [ 30, 100]
  28. },
  29. zlevel: 0, //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
  30. z: 2, //所属组件的z分层,z值小的图形会被z值大的图形覆盖
  31. left: "center", //组件离容器左侧的距离,'left', 'center', 'right','20%'
  32. top: "top", //组件离容器上侧的距离,'top', 'middle', 'bottom','20%'
  33. right: "auto", //组件离容器右侧的距离,'20%'
  34. bottom: "auto", //组件离容器下侧的距离,'20%'
  35. orient: "vertical", //图例排列方向
  36. padding: 5, //图例内边距,单位px 5 [5, 10] [5,10,5,10]
  37. backgroundColor: "transparent", //标题背景色
  38. borderColor: "#ccc", //边框颜色
  39. borderWidth: 0, //边框线宽
  40. textStyle:mytextStyle, //文本样式
  41. formatter: function (value) { //标签的格式化工具。
  42. return 'aaaa' + value; // 范围标签显示内容。
  43. }
  44. },
  45. {
  46. show: true, //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
  47. type: 'piecewise', // 定义为分段型 visualMap
  48. splitNumber: 5, //对于连续型数据,自动平均切分成几段。默认为5段
  49. pieces: [ //自定义『分段式视觉映射组件(visualMapPiecewise)』的每一段的范围,以及每一段的文字,以及每一段的特别的样式
  50. { min: 1500}, // 不指定 max,表示 max 为无限大(Infinity)。
  51. { min: 900, max: 1500},
  52. { min: 310, max: 1000},
  53. { min: 200, max: 300},
  54. { min: 10, max: 200, label: '10 到 200(自定义label)'},
  55. { value: 123, label: '123(自定义特殊颜色)', color: 'grey'}, // 表示 value 等于 123 的情况。
  56. { max: 5} // 不指定 min,表示 min 为无限大(-Infinity)。
  57. ],
  58. categories:[ '严重污染', '重度污染', '中度污染', '轻度污染', '良', '优'], //用于表示离散型数据(或可以称为类别型数据、枚举型数据)的全集
  59. min: 10, //指定 visualMapContinuous 组件的允许的最小值
  60. max: 100, //指定 visualMapContinuous 组件的允许的最大值
  61. minOpen: true, //界面上会额外多出一个『< min』的选块
  62. maxOpen: true, //界面上会额外多出一个『> max』的选块。
  63. selectedMode: "multiple", //选择模式,可以是:'multiple'(多选)。'single'(单选)。
  64. inverse: false, //是否反转 visualMap 组件
  65. precision: 0, //数据展示的小数精度,默认为0,无小数点
  66. itemWidth: 20, //图形的宽度,即长条的宽度。
  67. itemHeight: 140, //图形的高度,即长条的高度。
  68. align: "auto", //指定组件中手柄和文字的摆放位置.可选值为:'auto' 自动决定。'left' 手柄和label在右。'right' 手柄和label在左。'top' 手柄和label在下。'bottom' 手柄和label在上。
  69. text:[ 'High', 'Low'], //两端的文本
  70. textGap: 10, //两端文字主体之间的距离,单位为px
  71. showLabel: true, //是否显示每项的文本标签
  72. itemGap: 10, //每两个图元之间的间隔距离,单位为px
  73. itemSymbol: "roundRect", //默认的图形。可选值为: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
  74. dimension: 2, //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
  75. seriesIndex: 1, //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
  76. hoverLink: true, //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
  77. inRange:{ //定义 在选中范围中 的视觉元素
  78. color: [ '#121122', 'rgba(3,4,5,0.4)', 'red'],
  79. symbolSize: [ 30, 100]
  80. },
  81. outOfRange:{ //定义 在选中范围外 的视觉元素。
  82. color: [ '#121122', 'rgba(3,4,5,0.4)', 'red'],
  83. symbolSize: [ 30, 100]
  84. },
  85. zlevel: 0, //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
  86. z: 2, //所属组件的z分层,z值小的图形会被z值大的图形覆盖
  87. left: "center", //组件离容器左侧的距离,'left', 'center', 'right','20%'
  88. top: "top", //组件离容器上侧的距离,'top', 'middle', 'bottom','20%'
  89. right: "auto", //组件离容器右侧的距离,'20%'
  90. bottom: "auto", //组件离容器下侧的距离,'20%'
  91. orient: "vertical", //图例排列方向
  92. padding: 5, //图例内边距,单位px 5 [5, 10] [5,10,5,10]
  93. backgroundColor: "transparent", //标题背景色
  94. borderColor: "#ccc", //边框颜色
  95. borderWidth: 0, //边框线宽
  96. textStyle:mytextStyle, //文本样式
  97. formatter: function (value) { //标签的格式化工具。
  98. return 'aaaa' + value; // 范围标签显示内容。
  99. }
  100. }
  101. ];

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值