当使用ggplot在R中绘图时,我注意到有时如果你没有在y轴上指定任何限制,默认情况下,绘图在y轴的底部不会有任何“0”标记(它假设底角代表0)。这个页面上的第一个图是一个很好的例子
http://wiki.stdout.org/rcookbook/Graphs/Axes%20%28ggplot2%29
您可以看到底角留空。这就是我想要的。
但如果我指定y轴的极限,则始终显示0。所以,如果我使用
scale_y_continuous(limits=c(0,8)
或
ylim(0,8)
我得到那个小0和哈希标记
所以,如果我有一个像:
这样的数据集ByYear <- data.frame( V1 = c(2005,2006,2007,2008,2005,2006,2008,2006,2007,2005,2006,2007,2008),
+ V2 = c(0,0.2,0,1.6,2,5,0,4,3,0,8,0,5),
+ V3 = c('A','A','A','A','B','B','B','C','C','D','D','D','D'))
运行像
这样的基本情节ggplot(data=ByYear,aes(x=V1,y=V2,group=V3))+geom_line()+geom_point(aes(shape=V3),size=3)+opts(panel.grid.major=theme_blank(),panel.grid.minor=theme_blank())
有没有办法让第一个哈希标记为空白?类似于
的东西ylim(,8) #(Even though it does not work)
我知道我可以使用
expand=c(0,0)) or yaxis="i"
将0标记降低到下角(这是更好的),但唯一的问题是因为我有很多零数据,这将切断点形状的底部,所以我仍然需要一点点缓冲区空间低于零点。
答案 0 :(得分:6)
我认为您可能正在寻找breaks
的{{1}}参数:
scale_y_continuous
产生这个:
注意:由于版本0.9.2 ggplot(data=ByYear,aes(x=V1,y=V2,group=V3)) +
geom_line() +
geom_point(aes(shape=V3),size=3) +
scale_y_continuous(breaks = 1:8) +
opts(panel.grid.major=theme_blank(),panel.grid.minor=theme_blank())
已由opts
replaced完成:
theme