【问题标题】:Change grid line behavior in ggplot2更改 ggplot2 中的网格线行为
【发布时间】:2013-07-24 20:45:57
【问题描述】:

假设我有以下数据:

require(ggplot2)
set.seed(123)
data <- data.frame(x = sample(1:20, 100, replace = TRUE))

我想创建一个data$x 的点图,所以我就是这样做的:

ggplot(data, aes(x)) +
  geom_dotplot(binwidth = 1) +
  scale_x_continuous(breaks = seq(1, 20, 1)) +
  scale_y_continuous(breaks = NULL)

这给了我这个:

我想摆脱那些垂直网格线,所以我将theme(line = element_blank()) 添加到我的 ggplot 语句中。问题是该命令还消除了我想保留的刻度线。 如何隐藏网格线同时保留它们各自的刻度

我还想知道如何更改网格线,以便每1:20 绘制一次,而不是每 0.5 标记一次。

我在?title()?geom_dotplot 中寻找这些答案,尝试了几件事,但无济于事。感谢您的帮助!

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    使用panel.grid

    theme(panel.grid = element_blank())
    

    如果您希望每 1:20 绘制一次网格线,而不是每 0.5 标记。

     theme(panel.grid.minor =   element_blank(),
            panel.grid.major =   element_line(colour = "white",size=0.75))
    

    【讨论】:

    • 谢谢,所有这些主题选项让我错过了这个。 ;)
    • 关于将网格标记更改为 1:20?
    【解决方案2】:

    你可能会找到答案here

    opts 已更改为 theme。但是grid.major.x,grid.minor.y的东西应该设置在轨道上

    以去掉主网格线为例

    ggplot(data, aes(x)) +
        geom_dotplot(binwidth = 1) +
        scale_x_continuous(breaks = seq(1, 20, 1)) +
        scale_y_continuous(breaks = NULL) + theme(panel.grid.major = element_blank())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 2020-12-17
      • 2018-02-20
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多