• vue中使用echarts实现X轴动态时间(天)的折线图表


    项目要求x轴以一天为间隔,时间是动态返回的数据,折线图平滑展示

    实现代码如下:

    1. <div class="echarts-main">
    2. <v-chart ref="echarts" :options="options" />
    3. div>
    4. // 局部引入vue-echarts
    5. import ECharts from 'vue-echarts';
    6. import 'echarts/lib/chart/line';
    7. import 'echarts/lib/component/tooltip';
    8. export default {
    9. components: {
    10. 'v-chart': ECharts
    11. },
    12. data(){
    13. return {
    14. statisticsData: []
    15. }
    16. },
    17. computed: {
    18. options() {
    19. const options = {
    20. tooltip: {
    21. trigger: 'axis' // 显示横坐标值
    22. },
    23. xAxis: {
    24. type: 'time',
    25. boundaryGap: false,
    26. axisPointer: {
    27. type: 'shadow' // 阴影指示器
    28. },
    29. interval: 24 * 60 * 60 * 1000, // 固定x轴时间间隔 间隔24小时,也就是一天
    30. axisLabel: {
    31. // color: '#76EEC6'
    32. }
    33. },
    34. yAxis: {
    35. type: 'value'
    36. },
    37. series: [
    38. {
    39. type: 'line',
    40. smooth: true, // 平滑曲线显示
    41. areaStyle: {},
    42. data: this.statisticsData
    43. }
    44. ]
    45. };
    46. return options;
    47. }
    48. },
    49. mounted(){
    50. this.getApplicationInfoApi()
    51. },
    52. methods:{
    53. getApplicationInfoApi(){
    54. // 接口返回的数据格式
    55. const res = [
    56. {
    57. date: '2024-04-19 00:00:00',
    58. count: 6
    59. },
    60. {
    61. date: '2024-04-20 00:00:00',
    62. count: 21
    63. },
    64. {
    65. date: '2024-04-21 00:00:00',
    66. count: 34
    67. },
    68. {
    69. date: '2024-04-22 00:00:00',
    70. count: 20
    71. },
    72. {
    73. date: '2024-04-23 00:00:00',
    74. count: 5
    75. },
    76. {
    77. date: '2024-04-24 00:00:00',
    78. count: 11
    79. },
    80. {
    81. date: '2024-04-25 00:00:00',
    82. count: 4
    83. }
    84. ];
    85. let arr = [];
    86. res.forEach(item => {
    87. arr.push([dayjs(item.date).format('YYYY-MM-DD'), item.count]);
    88. });
    89. this.statisticsData = arr;
    90. }
    91. }
    92. }

    xAxis中 type:time,表示X轴为时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。

    series中的 smooth设置为true,表示为平滑曲线显示。

    series中的 data可以是一个二维数组。

    例如:

    1. series: [{
    2. data: [
    3. // 维度X 维度Y 其他维度 ...
    4. [ 3.4, 4.5, 15, 43],
    5. [ 4.2, 2.3, 20, 91],
    6. [ 10.8, 9.5, 30, 18],
    7. [ 7.2, 8.8, 18, 57]
    8. ]
    9. }]

  • 相关阅读:
    计算机毕业论文基于Python实现的电脑硬件配置推荐官网
    视觉大模型调研(Survey of Visual Foundation Model)
    java学习第三天笔记-运算符01算术运算符的基本用法41
    【Vue3】0-99
    Windows下 开机自启动jar包
    Cocos Creator 3D资源的导入与动画播放详解
    Java Lambda表达式的使用
    递归结构体数组链表实现
    《一》基础
    ESP8266-Arduino编程实例-MMA7660加速计驱动
  • 原文地址:https://blog.csdn.net/chensi_07/article/details/138182431