【发布时间】:2011-06-28 04:25:47
【问题描述】:
使用来自Hadley's website的示例:
> (m <- qplot(rating, votes, data=subset(movies, votes > 1000), na.rm = T))
创建:
我的问题: 创建绘图对象后是否可以确定刻度线? (我要删除第一个自动生成的断点)
背景:在上图中,可以清楚地看到 x 轴的断点在 2 到 9。要手动获取,请使用:
m + scale_x_continuous( breaks = c(2:9) )
但我想从图中确定刻度线是什么,以便我可以删除其中的一些。换句话说,是否有一个函数会返回刻度线:
myBreaks <- tickMarks(m)
以便我随后可以调用:
m + scale_x_continuous( breaks = myBreaks[-1] )
我从数组中删除了第一个中断。
【问题讨论】:
-
看来您应该能够访问构成绘图的网格组件。我没有太多/任何这样做的经验,但这篇文章看起来很有信息:rwiki.sciviews.org/…,也许有人会过来给我们上一课。
-
我不确定您的意思,但简单地说,在检查完图形后手动设置中断是否足够,如下所示:
m + scale_x_continuous(breaks=3:9)? -
我即将进行一项大型模拟研究,我将在其中制作大约 1000 个绘图。 我需要一个自动化的解决方案——我实际上是在用四乘四的grid layout 绘制图形,压缩后的视口看起来被很多刻度线弄脏了。
-
您的问题与我几个月前提出的这个问题非常相似:stackoverflow.com/q/5380417/602276。哈德利回应说这并不容易,但希望在未来的
ggplot2版本中可以做到这一点
标签: r ggplot2 axis-labels