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

如何在R的ggplot中添加图表颜色并调整坐标轴刻度间距

实现方案

你需要对代码做3处核心调整即可匹配目标效果:

  1. 使用对数刻度的y轴(或者直接用你已计算的log_gdp作为y轴变量,二者效果等价)
  2. 调整x轴刻度间隔,无需为每一年都设置刻度
  3. 可按需添加线性拟合趋势线(匹配目标图中的参考线效果)

修改后的完整代码如下:

library(ggplot2)

AUS_GDP <- c(826, 834, 858, 886, 936, 982, 999, 1030, 1057, 1114, 1352, 
1398, 1428, 1435, 1508, 1825, 1793, 1881, 1857, 1733, 2190, 1868, 
1704, 1975, 2246, 2310, 2554, 2954, 3381, 3339, 3148, 3736, 4382, 
4798, 4202, 3988, 4866, 4294, 3661, 4728, 4613, 4544, 4368, 4352, 
4616, 4403, 4532, 4956, 5031, 4932, 5217, 5259, 5663, 6095, 6113, 
6596, 6387, 6433, 6817, 6703, 6830, 7101, 6476, 7133, 6861, 7049, 
6900, 7383, 7179, 7567, 7106, 7438, 6368, 5910, 6003, 5558, 5874, 
5451, 6202, 6121, 6397, 6119, 6094, 6497, 6846, 6825, 7184, 7358, 
7481, 7940, 8305, 8136, 8126, 8220, 8013, 7806, 7775, 7637, 7336, 
7517, 7597, 7828, 8072, 8276, 8635, 8851, 8883, 8837, 8690, 8389, 
7504, 6940, 7275, 7718, 8066, 8477, 8792, 9159, 9382, 9318, 9828, 
10820, 11963, 12278, 11735, 11026, 10512, 10622, 11105, 11536, 
11815, 11966, 11824, 11963, 12419, 12795, 12924, 12895, 13238, 
13753, 14013, 13793, 14389, 14983, 15699, 16182, 16324, 17108, 
17770, 18428, 19166, 19590, 19772, 20527, 20698, 20993, 21613, 
21592, 21948, 22826, 22972, 23368, 22972, 22697, 24009, 24927, 
25116, 25971, 26702, 27407, 27373, 26861.2749592856, 27560.1782773384, 
28622.4757584582, 29844.1713244349, 30690.0624398521, 31740.4697474047, 
32857.9937806025, 34337.139432097, 35551.0195059737, 36603.0449959447, 
37275.9912489095, 38567.0654883377, 39523.6551974459, 40887.725336397, 
41904.4458707113, 42650.9859308496, 44033.5837617713, 44421.6404707281, 
44686.541383463, 45400.2233987967, 46132, 46999, 47250, 47867, 
48357, 48845, 49265.6135020065, 49830.7993065638)
log_AUS_GDP <- log(AUS_GDP)
year <- 1820:2018
AUS <- data.frame(year = year, 
                  gdp = AUS_GDP,
                  log_gdp = log_AUS_GDP)


ggplot(AUS, aes(x = year, y = log_gdp)) +
  geom_line(color = "black", linewidth = 0.8) + 
  # 可选添加线性拟合线,匹配目标图的参考效果
  geom_smooth(method = "lm", se = FALSE, color = "red", linetype = "dashed") +
  labs(x = "Year", y = "Logarithm of Australian GDP") +
  # x轴每20年设置一个刻度,可按需调整间隔
  scale_x_continuous(breaks = seq(1820, 2020, 20)) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 0, size = 10))

关键修改说明

  • 直接使用预计算的log_gdp作为y轴变量,和给y轴加scale_y_log10()效果一致,匹配目标图的对数纵轴
  • 移除了原代码中给x轴每年设置刻度的逻辑,改为每20年展示一个刻度,避免标签拥挤
  • 添加了theme_bw()主题和线性拟合线,和目标图样式对齐

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 16:15:03