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

使用ggplot2复刻指定样式棒棒糖图的技术问询

调整后的ggplot2棒棒糖图代码

根据目标图的样式,我们将图表改为横向布局并优化元素样式,以下是修改后的代码:

# 加载库
library(tidyverse)

# 创建数据
df1 <- data.frame(
  year = c(2014, 2014, 2017, 2017, 2021, 2021),
  value = c(1, -1, 1, -1, 1, -1)
)

# 绘制图表
ggplot(data = df1, aes(y = year, x = value)) +
  # 绘制连接点与中间轴线的线段
  geom_segment(aes(x = 0, xend = value, y = year, yend = year), color = "gray50") +
  # 绘制贯穿所有年份的中间垂直轴线
  geom_segment(aes(x = 0, xend = 0, y = 2013.8, yend = 2021.2), color = "black", linewidth = 1) +
  # 绘制实心点,按正负值区分颜色
  geom_point(
    size = 6,
    aes(color = factor(value)),
    shape = 19,
    show.legend = FALSE
  ) +
  # 设置点的配色
  scale_color_manual(values = c("-1" = "#4a6fe3", "1" = "#ff9234")) +
  # 配置坐标轴刻度
  scale_y_continuous(breaks = c(2014, 2017, 2021)) +
  scale_x_continuous(limits = c(-1.2, 1.2), breaks = c(-1, 0, 1)) +
  # 优化主题样式
  theme_minimal() +
  theme(
    panel.grid = element_blank(),
    axis.title = element_blank(),
    axis.text.x = element_text(size = 10),
    axis.text.y = element_text(size = 10, face = "bold")
  )

关键调整说明

  • 布局转换:将年份映射到y轴、数值映射到x轴,匹配目标图的横向棒棒糖结构
  • 线段优化:连接线段改为从中间轴线(x=0)延伸至对应点,中间轴线改为加粗垂直黑线
  • 点样式调整:使用实心圆形,按正负值设置蓝橙配色,调整点的大小以匹配目标图视觉效果
  • 主题精简:隐藏网格线,保留核心刻度,优化文字样式提升可读性
  • 坐标轴范围:设置x轴范围避免点超出图表边界

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 10:35:15