You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 04:42:51