echarts4r技术问题:独立于折线图修改图例线条与符号
自定义echarts4r折线图的图例样式
要实现图表线条黑色、填充区对应颜色,同时图例显示对应颜色的线条(无符号),可以通过e_legend()的data参数精准控制图例项样式,具体修改如下:
修改后的完整代码
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_legend(right = 20, orient = "vertical", data = list( list( name = "Total queries", icon = "line", # 图例显示为线条,无符号 lineStyle = list(color = "blue") # 图例线条颜色 ), list( name = "High priority", icon = "line", lineStyle = list(color = "red") ) ))
关键说明
e_legend()的data参数结构:需要传入一个列表,每个子列表对应一个图例项,必须包含name(与系列的name完全匹配),通过icon = "line"去掉图例的圆形符号,再用lineStyle指定图例线条的颜色。- 移除
e_color():该函数会全局控制系列颜色,而我们需要图表内线条固定为黑色,填充色单独设置,因此不需要全局颜色配置。 - 系列样式保持:每个
e_line()里的lineStyle设为黑色,areaStyle设置对应填充色,showSymbol = F确保图表内无数据点符号。
内容的提问来源于stack exchange,提问作者mkranj
相关产品推荐
相关产品推荐

