我希望ggplot网格线厚度对于主要/次要网格线是不同的

时间:2018-04-04 15:34:36

标签: r ggplot2

My example is taken from here (link). R版本为3.4.3,ggplot2版本为2.2.1

library(tidyverse)
df <- data.frame(dose=c("D0.5", "D1", "D2"),
                    len=c(4.2, 10, 29.5))

    ggplot(data=df, aes(x=dose, y=len)) +
      geom_bar(stat="identity")

几乎每个ggplot2教程都会显示一些简单的图形。我总是注意到主要网格线大约是次网格线厚度的两倍,这正是我所期望的。这显示在下面的第一张图中。它看起来很棒。

每当在ggplot上绘制某些内容时,次要和主要网格线共享相同的权重,相同的厚度,默认。为什么?我没有改变任何网格线设置?我是否意外启用/禁用了某些R Studio全局设置?我希望次要网格线比主要网格线更轻,就像显示的第一张图像一样。第二张图是我绘制图形时得到的。

correct_grid.png

incorrect_grid.png

1 个答案:

答案 0 :(得分:3)

您可以使用主题功能

更改网格线的粗细
df <- data.frame(dose=c("D0.5", "D1", "D2"),
            len=c(4.2, 10, 29.5))

ggplot(data=df, aes(x=dose, y=len)) +
       geom_bar(stat="identity") + 
       theme(panel.grid.minor = element_line(size = 0.5), panel.grid.major = element_line(size = 1))