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

如何为双Y轴Plotly图表指定条形图与折线图颜色?

解决Plotly双Y轴图表颜色指定问题

你遇到的颜色设置无效问题,是因为Plotly的color参数默认是用于映射数据列到颜色刻度的,而非直接指定单一固定颜色。要给条形图和折线散点图指定固定颜色,需要用以下方式:

修改后的可运行代码

library(plotly)
library(lubridate)
year  <- c(2011:2019)
data1 <- c(2, 3, 2, 5, 1, 8, 2, 7, 9)
data2 <- c(20, 30, 20, 50, 10, 80, 20, 70, 90)
dataset <- data.frame(year, data1, data2)

dataset$year <- lubridate::parse_date_time(dataset$year, orders = "%Y")
dataset$year <- as.Date(dataset$year)

plot_ly() %>%
  # 条形图指定颜色
  add_trace(x = dataset$year, 
            y = dataset$data1,
            type="bar",
            yaxis="y", 
            name="yaxis data",
            marker = list(color = "red")) %>%  # 替换原color参数
  # 折线散点图指定颜色
  add_trace(x = dataset$year, 
            y = dataset$data2,
            type="scatter", 
            mode="lines+markers",
            yaxis="y2", 
            name="yaxis2 data",
            line = list(color = "blue"),       # 设置折线颜色
            marker = list(color = "blue")) %>% # 设置标记点颜色
  layout(yaxis=list(side="left"),
         yaxis2=list(side="right",overlaying="y"),
         showlegend=TRUE)

关键修改说明

  • 对于条形图(bar类型):使用marker = list(color = "red")直接指定条形的填充颜色,若需要设置条形边框颜色,可添加marker.line.color = "black"这类参数。
  • 对于折线散点图(scatter类型,mode=lines+markers):需要分别设置line(折线颜色)和marker(标记点颜色),确保折线和点的颜色统一。

内容的提问来源于stack exchange,提问作者JontroPothon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:14:53