echarts添加图形标记(三角形、矩形......)

以下是针对一个图表进行配置的代码:

//options:{..., xAxias: {}, series: [ { markPoint: {....} }, ...]
markPoint: {
        symbol: "triangle", // 设置标记形状为三角形,也可以使用其它类型的
        data: [
                {
                 name: '特定数据点', // 标记名称(可选)
                 coord: ['6180.407787', '7.802931'], // 指定数据点的坐标
                 symbolSize: [8, 8], // 调整标记大小(可根据需要调整)
                 itemStyle: {
                     color: 'red', // 设置标记颜色(可选)
                     },
                },
                //数据点可以配置多个
                {
                 name: '特定数据点', // 标记名称(可选)
                 coord: ['xxx', 'xxx'], // 指定数据点的坐标
                 symbolSize: [8, 8], // 调整标记大小(可根据需要调整)
                 itemStyle: {
                     color: 'green', // 设置标记颜色(可选)
                     },
                },
              ],
        emphasis: {
          itemStyle: {
            color: "red",
            borderColor: "red",
            borderWidth: 2,
          },
          //鼠标悬浮在标记点的提示信息
          label: {
            show: true,
            formatter: function (params) {
              const res = tips.value[params.seriesIndex][1].split(",");
              const curitem = res.find((item) =>
                item.includes(Math.trunc(params.data.coord[0]))
              );
              const coordIndex = checked.value ? 1 : 0;
              //${formatNumberWithPercentage(params.data.coord[coordIndex], 0)}
              return `${curitem}\n`;
            },
          },
        },
      },

效果如下:

以下是针对多个图表进行配置的代码:

 //遍历接口返回的echarts数据对数据进行处理生成markPointData标记列表
 //formatNumberWithPercentage为保留小数点位数的函数
 const markPointData = triangleList.value[data[i].label].map((item) => {
      return {
        name: "", // 标记名称(可选)
        coord: checked.value
          ? [
              formatNumberWithPercentage(item.y * 100, 6),
              formatNumberWithPercentage(item.x - 0, 6),
            ]
          : [
              formatNumberWithPercentage(item.x, 6),
              formatNumberWithPercentage((item.y - 0) * 100, 6),
            ], // 指定数据点的坐标
        symbolSize: [7, 7], // 调整标记大小(可根据需要调整)
        itemStyle: {
          color: "red", // 设置标记颜色(可选)
        },
      };
    });
//遍历options中的series给series项赋值
    chartData.value.series[i] = {
      ...其他配置项,
      markPoint: {
        symbol: "triangle", // 设置标记形状为三角形
        data: markPointData,
        emphasis: {
          itemStyle: {
            color: "red",
            borderColor: "red",
            borderWidth: 2,
          },
          label: {
            show: true,
            formatter: function (params) {
              const res = tips.value[params.seriesIndex][1].split(",");
              const curitem = res.find((item) =>
                item.includes(Math.trunc(params.data.coord[0]))
              );
              const coordIndex = checked.value ? 1 : 0;
              //${formatNumberWithPercentage(params.data.coord[coordIndex], 0)}
              return `${curitem}\n`;
            },
          },
        },
      },
    };

效果如下:

ECharts中的markPoint配置允许你为数据点添加特殊的标记,以突出显示某些具有重要意义的数据,比如最大值、最小值或者平均值等。symbol属性用来定义这些标记的图形样式。ECharts内置了一些基本的符号类型,包括但不限于:

  • 'circle':圆形
  • 'rect':矩形
  • 'roundRect':圆角矩形
  • 'triangle':三角形
  • 'diamond':菱形
  • 'pin':大头针形状
  • 'arrow':箭头
  • 'none':无标记

除了这些内置的图形,你还可以使用图片作为标记,通过设置symbol的值为'image://URL'来引用一个图片资源,例如: 

symbol: 'image://https://example.com/path/to/your/image.png'

此外,ECharts还支持自定义标记图形,你可以通过定义SVG路径数据来创建完全自定义的形状。但这种高级用法较为复杂,通常需要对SVG有一定的了解。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是个程序员吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值