echarts k线图 标记点 markPoint 不同条件是标记点颜色不同 怎么弄


this.option = {
  series: [
    {
      markPoint: {
        itemStyle: {
          normal: {


            color: function (params) {
              
              if (params.values[0].equals("B")) {
                return 'blue';
              } else {
                return "black";
              }
            }
          }
        },
      }
    }
  ]
}

img

img

为什么这样 设置color 是无效的 , 如果不设置color 默认就是 红色 现在设置了颜色 结果还是默认的颜色?

https://blog.csdn.net/tenc1239/article/details/131457460?spm=1001.2014.3001.5502

  • 以下回答由chatgpt基于相关博客总结生成:

    根据提供的参考资料,我看不出与echarts k线图中的标记点(markPoint)相关的设置或代码。markPoint的颜色通常是根据数据的特定条件来确定的,而不是通过直接设置color属性。

    要实现不同条件下标记点颜色不同的效果,可以使用markPoint的itemStyle属性和data属性配合使用。

    具体的解决方案如下:

    1. 首先,确保你已经引入了echarts库和相关的echarts主题库,以便使用k线图和markPoint功能。

    2. 创建一个包含k线图和markPoint的echarts实例,设置好图表的基本配置。

    // 创建echarts实例
    var myChart = echarts.init(document.getElementById('chart-panel'));
    
    // 设置基本配置
    var option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross'
            }
        },
        xAxis: {
            type: 'category',
            data: ['1', '2', '3'] // 横轴数据
        },
        yAxis: {
            type: 'value'
        },
        series: [
            {
                type: 'line',
                data: [1, 2, 3] // 纵轴数据
            },
            {
                type: 'k',
                data: [ // K线图的数据
                    [2320.26, 2320.26, 2287.3, 2362.94],
                    [2300, 2291.3, 2288.26, 2308.38],
                    [2295.35, 2346.5, 2295.35, 2346.92],
                ],
                markPoint: { // markPoint的配置
                    data: [
                        { name: 'Highest', value: 2362.94, xAxis: 0, yAxis: 2320.26 },
                        { name: 'Lowest', value: 2287.3, xAxis: 0, yAxis: 2320.26 },
                        { name: 'Highest', value: 2308.38, xAxis: 1, yAxis: 2300 },
                        { name: 'Lowest', value: 2288.26, xAxis: 1, yAxis: 2300 },
                        { name: 'Highest', value: 2346.92, xAxis: 2, yAxis: 2346.5 },
                        { name: 'Lowest', value: 2295.35, xAxis: 2, yAxis: 2346.5 }
                    ],
                    itemStyle: { // markPoint标记点的样式
                        color: function(params) { // 根据条件设置标记点颜色
                            if (params.name === 'Highest') {
                                return 'red';
                            } else if (params.name === 'Lowest') {
                                return 'green';
                            } else {
                                return 'blue';
                            }
                        }
                    }
                }
            }
        ]
    };
    
    // 将配置项设置给echarts实例
    myChart.setOption(option);
    

    上述代码中的markPoint配置中,设置了markPoint标记点的data数组,其中包含了每个标记点的位置和名称。同时,通过设置itemStyle中的color属性,根据条件来返回不同的颜色值。

    请在实际项目中根据你的需求进行相应的调整,并确保正确引入了echarts库和相关的主题库。如果仍然遇到问题,请提供更多的信息,以便更好地帮助你解决问题。