tenc1239 2023-06-27 21:24 采纳率: 76%
浏览 35
已结题

vue echarts 怎么在K线图中标记买卖点,买卖点数据是从后台获取的

vue echarts 怎么在K线图中标记买卖点,买卖点数据是从后台获取的

this.dataTadeList 是我从后台获取的是买卖点数据 但是 给markPoint data 赋值后 并没有显示标记点


```java
markPoint: {
                symbolSize: 10,
                data: this.dataTadeList
              },

```

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-28 08:34
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: Vue项目中使用echarts教程中的 dataset管理数据 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

      dataset 组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用

      优点:

      • 能够贴近这样的数据可视化常见思维方式:(I) 提供数据,(II) 指定数据到视觉的映射,从而形成图表。
      • 数据和其他配置可以被分离开来。数据常变,其他配置常不变。分开易于分别管理。
      • 数据可以被多个系列或者组件复用,对于大数据量的场景,不必为每个系列创建一份数据。
      • 支持更多的数据的常用格式,例如二维数组、对象数组等,一定程度上避免使用者为了数据格式而进行转换。
    • 以下回答来自chatgpt:

      对于该问题,可以通过以下步骤来优化代码:

      1. 首先,将从后台获取的买卖点数据存储在一个数组中,例如:
      this.dataTradeList = [
        {name: '买点', value: [ '2018-01-01', 100 ]},
        {name: '卖点', value: [ '2018-01-05', 80 ]}
      ]
      
      1. 在绘制K线图时,在Echarts的option中定义markPoint的属性,该属性用于添加标记点,并将标记点的数据设置为上一步骤中存储的数据,例如:
      option: {
        ...
        series: [{
          name: 'K线',
          type: 'candlestick',
          ...
          markPoint: {
            symbol: 'arrow',
            symbolSize: 20,
            data: this.dataTradeList
          }
        }]
      }
      

      其中,symbol指定标志图形类型,symbolSize指定标记点的大小,data指定标记点的数据。

      1. 由于Echarts的渲染需要在mounted生命周期中进行,而数据的获取可能是异步的,因此需要使用Vue的watch来监听dataTradeList的变化,从而重新渲染图表,例如:
      watch: {
        dataTradeList: function(val) {
          if (this.chart !== null) {
            this.chart.setOption({
              series: [{
                name: 'K线',
                type: 'candlestick',
                ...
                markPoint: {
                  symbol: 'arrow',
                  symbolSize: 20,
                  data: val
                }
              }]
            })
          }
        }
      },
      mounted() {
        this.chart = echarts.init(document.getElementById('chart'))
        this.chart.setOption(option)
      }
      

      其中,watch方法会在dataTradeList变化时触发,从而重新渲染图表。同时,在mounted生命周期中初始化Echarts并设置option属性。其中,this.chart表示图表实例。

      通过以上步骤,就能够在K线图中添加买卖点的标记,并且在数据变化时自动重新渲染图表。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月12日
  • 已采纳回答 7月4日
  • 创建了问题 6月27日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!