echarts 4 r-独立于折线图更改图例线和符号

kfgdxczn  于 2023-05-04  发布在  Echarts
关注(0)|答案(1)|浏览(154)

我正试着根据特定的标准做一个线条。我希望线条本身是黑色的,而线条下面的区域会有不同的颜色。但是,我在设置图例以直观的方式显示发生的事情时遇到了麻烦。以下是一些编造的数据:

library(echarts4r)
library(tidyverse)

dataset <- data.frame(company_id = 1:5, high_priority = seq(10, 50, length.out = 5), total = seq(200, 500, length.out = 5))

dataset %>%
  e_charts(x = company_id) %>%
  e_line(serie = total,
         name = "Total queries",
         showSymbol = F,
         lineStyle = list(
           color = "black"
         ),
         emphasis = list(disabled = T),
         areaStyle = list(
           color = "blue"
         )) %>%
  e_line(serie = high_priority,
         name = "High priority",
         showSymbol = F,
         lineStyle = list(
           color = "black"
         ),
         emphasis = list(disabled = T),
         areaStyle = list(
           color = "red"
         )) %>%
  e_color(color = c("blue", "red")) %>%
  e_legend(right = 20, orient = "vertical")

e_color设置图例符号的颜色,但是图表本身没有符号。我希望图例是一个蓝线为“总查询”和一个红线为“高优先级”。它不应该有圆圈或任何其他符号,图表中的线条应该保持黑色。
我还尝试向e_legend()提供data参数,但我无法使其工作。我不明白应该为那个参数提供什么数据结构。但也许这就是它的工作方式,将name与特定的颜色等联系起来。设置。

rqcrx0a6

rqcrx0a61#

不幸的是,最初的echarts只支持将图例绘制为图标。参见issue 188
您可能想尝试使用矩形图标,这很简单,只需将icon = list("rect", "rect")添加到e_legend中即可:

e_legend(right = 20, orient = "vertical", icon = list("rect", "rect"))

如果需要线条,解决方案是创建自己的线条图标,其中一种可能性是使用SVG PathData,例如:

e_legend(right = 20, orient = "vertical", icon = replicate(2, "path://M180 1000 l0 -40 200 0 200 0 0 40 0 40 -200 0 -200 0 0 -40z"))

相关问题