如何让ggplot2绘图更漂亮?
我使用后面的 R 代码生成了以下图:
ggplot(lengths, aes(length, fill = library)) + geom_density(alpha = 0.2) + coord_cartesian(xlim = c(0, 60000))
现在我想让绘图更漂亮一点:
- 使 x 轴显示长度 5000 个单位(而不是每 20000 个)
- 在三个之上添加 x 值 峰值(大约 3000、5000 和 35000)。
我怎样才能做到这一点?
更新 回复 詹姆斯:
I have generated the following plot using the R code that follows it:
ggplot(lengths, aes(length, fill = library)) + geom_density(alpha = 0.2) + coord_cartesian(xlim = c(0, 60000))
Now I would like to make the plot a bit prettier:
- Make the x-axis show length every
5000 units (instead of every 20000) - Add x-values on top of the three
peaks (approx 3000,5000 and 35000).
How can I do that?
update
in response to James:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
怎么样:(
首先创建一个可重现的示例)
(找到峰值位置和高度的可爱东西)
(绘制绘图)
您可能想稍微调整标签的垂直高度
How about:
(first create a reproducible example)
(cute stuff to find peak locations and heights)
(draw the plot)
you probably want to tweak the vertical height of the labels a little
1:
+scale_x_continuous(breaks=rep(5000,12))
。您还可以使用
limits
将xlim
声明放在这里,例如2:对于标签,您可以使用
annotate()
或geom_text()
。有关示例,请参阅这篇文章。不过,您必须自己计算这些值。1:
+ scale_x_continuous(breaks=rep(5000,12))
.You could also put the
xlim
declaration in here, usinglimits
, eg,2: For the labels you could use
annotate()
orgeom_text()
. See this post for examples. You would have to calculate the values yourself for this though.