繁体   English   中英

R和ggplot-删除y轴上的“ 0”刻度

[英]R and ggplot- Removing the “0” tick mark on the y axis

使用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标记降低到下角(更好),但是唯一的问题是因为我有很多零数据,这会切断点形状的底部,因此我仍然需要下面的一点缓冲空间零点。

我认为您可能正在寻找scale_y_continuousbreaks参数:

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())

产生这个:

在此处输入图片说明

注意 :由于版本0.9.2 opts替换theme

+ theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM