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

R语言plotly如何绘制多柱折线双轴组合图

Plotly R 实现双Y轴分组柱状+折线组合图

实现核心逻辑

  • 主Y轴(左侧)映射share、sale两个数值变量,采用分组柱状图展示,同分类下两个柱子并列排布
  • 次Y轴(右侧)映射cost变量,采用带标记点的折线图展示
  • 柱状图填充色按分类变量model的取值做差异化映射,同model下的两个柱子用同色系不同透明度区分系列
  • 坐标轴范围自动适配数据,保证0值对齐避免视觉误导

完整可运行代码

# 加载依赖包
library(plotly)

# 构造示例数据集
df <- data.frame (model  = c("A", "B", "C","D","E","F"),
                  share = c(12,20,15,9,60,20),
                  sale = c(16,25,18,14,67,28),
                  cost = c(14,19,28,24,57,28))

# 为不同model配置差异化配色
model_colors <- c(
  "A" = "#2E86AB",
  "B" = "#A23B72",
  "C" = "#F18F01",
  "D" = "#C73E1D",
  "E" = "#3B1F2B",
  "F" = "#6A994E"
)

# 绘制组合图
plot_ly(data = df) %>%
  # 左侧Y轴:share柱状图
  add_bars(
    x = ~model,
    y = ~share,
    name = "share",
    marker = list(
      color = ~unname(model_colors[model]),
      opacity = 0.9
    ),
    offsetgroup = 0
  ) %>%
  # 左侧Y轴:sale柱状图
  add_bars(
    x = ~model,
    y = ~sale,
    name = "sale",
    marker = list(
      color = ~unname(model_colors[model]),
      opacity = 0.6
    ),
    offsetgroup = 1
  ) %>%
  # 右侧Y轴:cost折线图
  add_trace(
    x = ~model,
    y = ~cost,
    name = "cost",
    type = "scatter",
    mode = "lines+markers",
    line = list(width = 3, color = "#1D3557"),
    marker = list(size = 8, color = "#1D3557"),
    yaxis = "y2"
  ) %>%
  # 布局配置
  layout(
    barmode = "group",
    xaxis = list(title = "Model分类"),
    yaxis = list(
      title = "Share/Sale 数值",
      side = "left",
      rangemode = "tozero"
    ),
    yaxis2 = list(
      title = "Cost 数值",
      side = "right",
      overlaying = "y",
      rangemode = "tozero",
      showgrid = FALSE
    ),
    legend = list(orientation = "h", y = 1.12, x = 0.3)
  )

效果说明

运行代码后可得到符合需求的可视化结果:

  • 6组分类下共12根柱子,同model的柱子颜色一致,通过透明度区分share、sale两个指标
  • 深色折线独立映射右侧Y轴,网格线仅保留左侧主Y轴避免视觉干扰
  • 图例横向排布在图顶,不遮挡绘图区域内容,可直接点击图例切换系列显示状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 08:25:30