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

如何在ggplot的geom_line()中设置y轴范围为[0,2]

调整ggplot折线图的Y轴范围到[0,2]

数据

> dput(df_ggplot)
structure(list(time = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1, 2, 3, 
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
21, 22, 23, 24, 25), prices = c(-0.30006834352587, -0.00555487442073247, 
0.258679288900665, 0.439432386185049, 0.216483899258755, -0.07180776590316, 
-0.244214595104925, -0.014369355833968, -0.130494093735835, -0.0993524071519092, 
0.0417262548938068, 0.029683613288831, -0.336259749313202, 0.0432942972908209, 
0.198346778977676, -0.0609698937346443, 0.162074965376874, 0.362756477084522, 
-0.201537845483782, -0.218935082840323, 0.0617031438039988, -0.11493961918202, 
0.133697792972297, -0.0614481093677531, -0.311669297606833, -0.30006834352587, 
0.0819856942951882, 0.163636220849344, 0.985956325310659, -0.16096684463549, 
-0.0806455784199295, -0.134650534646189, -0.0674387029421786, 
0.0809173564567764, -0.175459007730146, 0.0405360847200064, -0.189403033958823, 
-0.217194929585943, -0.122518388961322, 0, 0.0953136827739254, 
0, 0.25794826085627, -0.366890546975166, -0.0136316982929607, 
-0.0272726870548112, -0.0682359777640138, -0.0409788500441341, 
0.0819297440769776, -0.314673133835946), variable = c("simulated", 
"simulated", "simulated", "simulated", "simulated", "simulated", 
"simulated", "simulated", "simulated", "simulated", "simulated", 
"simulated", "simulated", "simulated", "simulated", "simulated", 
"simulated", "simulated", "simulated", "simulated", "simulated", 
"simulated", "simulated", "simulated", "simulated", "data", "data", 
"data", "data", "data", "data", "data", "data", "data", "data", 
"data", "data", "data", "data", "data", "data", "data", "data", 
"data", "data", "data", "data", "data", "data", "data")), row.names = c(NA, 
-50L), class = "data.frame")

原绘图代码

ggplot(data=df_ggplot,aes(x=time, y=prices, colour=variable))+ geom_line()

修改后的代码(设置Y轴范围为[0,2])

要将Y轴范围固定为0到2,只需在原代码中添加scale_y_continuous()函数并指定limits参数:

ggplot(data=df_ggplot,aes(x=time, y=prices, colour=variable))+ 
  geom_line()+
  scale_y_continuous(limits = c(0, 2))

补充说明

  • 设置limits = c(0, 2)后,所有Y值小于0的点会被自动截断,不会在图表中显示。
  • 如果希望保留这些点但仍将轴范围设为[0,2],可以添加oob = scales::squish参数,让超出范围的点被压缩到轴的边界:
ggplot(data=df_ggplot,aes(x=time, y=prices, colour=variable))+ 
  geom_line()+
  scale_y_continuous(limits = c(0, 2), oob = scales::squish)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:45:11