11

假设我有以下数据:

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)

这给了我这个:

点图1

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

我还想知道如何更改网格线,以便每隔 0.5 个标记绘制它们1:20,而不是在每个 0.5 标记处绘制它们。

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

4

2 回答 2

21

利用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))

在此处输入图像描述

于 2013-07-24T21:01:21.213 回答
3

你可能会在这里找到答案

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())
于 2013-07-24T21:04:08.123 回答