这是我的数据
https://www.dropbox.com/s/mveo3csln8mafx8/test.csv?dl=0
我正在使用ggplot将fit
绘制为mean.nc
与x
ggplot() +
geom_line(data=test,aes(y = (fit-mean.nc)/mean.nc*100, x=x)) +
geom_ribbon(data=test,aes(x= x, ymin= (se.lw - mean.nc)/mean.nc *100,
ymax= (se.up - mean.nc)/mean.nc*100),alpha=0.2)
我想增加y轴的范围,所以我使用ylim
添加了一个额外的参数
ggplot() +
geom_line(data=test,aes(y = (fit-mean.nc)/mean.nc*100, x=x)) +
geom_ribbon(data=test,aes(x= x, ymin= (se.lw - mean.nc)/mean.nc *100,
ymax= (se.up - mean.nc)/mean.nc*100),alpha=0.2) +
ylim(-70,70)
如您所见,我的线条超出了实际数据范围。鉴于ylim
应该,我不确定为什么会发生这种情况
只改变我的y轴并对我的实际图形不做任何操作。任何人都可以告诉我这里我做错了什么。
答案 0 :(得分:2)
ylim
和xlim
确实对数据进行了子集化。
您正在寻找的内容可能在coord_cartesian
ggplot() +
geom_line(data=test, aes(y = (fit-mean.nc)/mean.nc*100, x = x)) +
geom_ribbon(data=test, aes(x = x, ymin= (se.lw - mean.nc) / mean.nc * 100,
ymax = (se.up - mean.nc) / mean.nc * 100), alpha = 0.2) +
coord_cartesian(ylim = c(-70, 70))