ECharts  X轴分组实现

DATE: 2016-10-29 / VIEWS: 12629

要做一个行情走势图,要求X轴的日期按天显示,每天显示5条数据,效果如下:


用ECharts实现,代码如下:


  1. option = {
  2. title : {
  3. text: '行情走势图',
  4. subtext: '数据来自Huison.cn',
  5. x: 'center',
  6. align: 'right'
  7. },
  8. grid: {
  9. bottom: 80
  10. },
  11. tooltip : {
  12. trigger: 'axis',
  13. axisPointer: {
  14. animation: false
  15. }
  16. },
  17. dataZoom: [
  18. {
  19. show: false,
  20. realtime: false,
  21. }
  22. ],
  23. xAxis : [
  24. {
  25. type : 'category',
  26. boundaryGap : false,
  27. axisLine: {show: true},
  28. axisTick:{
  29. interval:function(index, value) {
  30. return value.substring(value.length-5) == '00:00';
  31. }
  32. },
  33. axisLabel:{
  34. show:true,
  35. interval:function(index, value) {
  36. return value.substring(value.length-5) == '00:00';
  37. },
  38. formatter:function(value, index) {
  39. return value.substring(0, 4);
  40. }
  41. },
  42. data : [
  43. '6-11 20:00',
  44. '6-12 00:00', '6-12 4:00', '6-12 8:00', '6-12 12:00', '6-12 16:00', '6-12 20:00',
  45. '6-13 00:00', '6-13 4:00', '6-13 8:00', '6-13 12:00', '6-13 16:00', '6-13 20:00',
  46. '6-14 00:00', '6-14 4:00', '6-14 8:00', '6-14 12:00', '6-14 16:00', '6-14 20:00',
  47. '6-15 00:00', '6-15 4:00', '6-15 8:00', '6-15 12:00', '6-15 16:00', '6-15 20:00',
  48. '6-16 00:00', '6-16 4:00', '6-16 8:00', '6-16 12:00', '6-16 16:00', '6-16 20:00',
  49. '6-17 00:00', '6-17 4:00', '6-17 8:00', '6-17 12:00', '6-17 16:00', '6-17 20:00',
  50. '6-18 00:00', '6-18 4:00', '6-18 8:00', '6-18 12:00', '6-18 16:00', '6-18 20:00'
  51. ]
  52. }
  53. ],
  54. yAxis: [
  55. {
  56. type: 'value',
  57. min:100,
  58. axisLine: {show: false},
  59. axisTick: {show: false},
  60. axisLabel:{
  61. formatter:function(value, index) {
  62. return value > 1000 ? value/1000 + 'k' : value;
  63. }
  64. },
  65. splitLine:{
  66. show:true
  67. }
  68. }
  69. ],
  70. series: [
  71. {
  72. name:'模拟数据',
  73. type:'line',
  74. smooth:true,
  75. symbol: 'none',
  76. sampling: 'average',
  77. itemStyle: {
  78. normal: {
  79. color: 'green'
  80. }
  81. },
  82. markLine: {
  83. silent:true,
  84. animation:false,
  85. symbol:'',
  86. label:{
  87. normal:{show:false}
  88. },
  89. lineStyle:{
  90. normal:{
  91. color:'#666',
  92. type:'dotted'
  93. }
  94. },
  95. data: [{
  96. yAxis: 920
  97. }]
  98. },
  99. data:[
  100. 600,870,1050,980,900,880,
  101. 980,1120,1000,910,800,690,
  102. 450,194,210,320,400,550,
  103. 460,670,700,700,700,700,
  104. 870,910,1020,1140,990,990,
  105. 990,800,960,1000,1200,1300,
  106. 1400,1450,1380,1300,1200,1200,
  107. 1210
  108. ]
  109. }
  110. ]
  111. };