【发布时间】:2015-11-29 23:58:02
【问题描述】:
我有一个 ggplot2 图表,如下所示:
请注意,网格或轴线不会通过功能区显示。处理此问题的一种方法是更改功能区的alpha 属性;但是,这会使较浅的颜色变得太亮。
另一种想法是将网格/轴线绘制在色带的顶部而不是它们的下方。我怎样才能实现这种渲染顺序?
当然,这个问题可以问到由 ggplot2 生成的任何图。但说明问题的复制粘贴命令如下:
ggplot(data.frame(x=sample(1:100),y=sample(1:100)),aes(x=x,y=y))+geom_point(size=20)
【问题讨论】:
-
如果您根据您的问题制作一个可重复的最小示例,我们更有可能为您提供帮助。我们可以使用的东西向您展示如何解决您的问题。您可以查看this SO post,了解如何在 R 中制作一个出色的可重现示例。
-
@EricFail:由于这通常适用于使用 ggplot 制作的任何图片,因此 MWE 似乎没有必要;但是,我添加了一个生成合适测试用例的 WE。
-
stackoverflow.com/questions/19054092/… 。除非有新的发展,否则额外的 h/vline 几何图形似乎是要走的路
-
看起来像,有谁知道如何自动获取而不是手动输入?
-
如果 p 是您的绘图(没有 h.vline),您可以通过查看
ggplot_build(p)获得默认的 x 和 y 网格位置。虽然您可能更喜欢使用 scale_x_continuous 手动定义中断(因此是网格线),并在您的 hline 调用中使用这些相同的值?