删除 ggplot2 箱线图中的一些刻度标签

标签 r ggplot2 label boxplot

我对 ggplot 比较陌生,所以如果这很容易,我很抱歉,但我在网上找不到任何东西。

我想在 ggplot2 中并排显示 29 个箱线图(编号为 1.1 到 4.0)(我可以这样做)但是一旦我将刻度标签设置为适当的大小(我可以这样做),标签就会重叠,我只想要几个(1.5、2、2.5 等)反正。如何仅删除部分刻度标签?另外,无论如何我可以在 1.0 处包含一个空白刻度线,所以我的刻度线标签很好,是整数?

我的数据是我“融化”的列表,因为每个箱线图都有不同数量的观察结果。

我目前的代码:

list = list(data11, data12, ... data39, data40) # Elipse denotes the rest of the sequence
df = melt(list)

ggplot(df, aes(factor(variable), value)) + 
    geom_boxplot(outlier.size=1.5, colour="black") + 
    xlab("Xlabel") +
    ylab("Ylabel") +
    theme_classic() + 
    theme(
        axis.text.x = element_text(size=12),
        axis.text.y = element_text(size=12),
        axis.title.x = element_text(size=14),
        axis.title.y = element_text(size=14, angle=90),
        axis.line = element_line(size=0.75)
    )

最佳答案

这确实不是一个很难的问题。关键思想很容易找到here .

基本上,您缺少一行代码。由于你没有分享你的数据样本(你真丢脸!见 this ),我生成了一些。这是解决方案:

df.so1 <- runif(10); df.so2 <- runif(10); df.so3 <- runif(10)
list.so = list(df.so1, df.so2, df.so3)
df.so = melt(list.so)

ggplot(df.so, aes(factor(L1), value)) + 
  geom_boxplot(outlier.size=1.5, colour="black") + 
  xlab("Xlabel") + ylab("Ylabel") +
  theme_classic() + 
  theme(
    axis.text.x = element_text(size=12),
    axis.text.y = element_text(size=12),
    axis.title.x = element_text(size=14),
    axis.title.y = element_text(size=14, angle=90),
    axis.line = element_line(size=0.75)
  ) + 
  scale_x_discrete(breaks = c(1,3))

请注意,您可以完全控制轴、刻度、刻度标签等。请参阅 ggplot2 documentation更多。

更新。

发帖前别忘了查看相关问题:bump1, bump2.

关于删除 ggplot2 箱线图中的一些刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19311469/

相关文章:

r - 使用pandas数据框进行rpy2回归的最小示例

R:使用 dplyr 创建有条件的新变量

ggplot2 - 在 ggplot2/stat_summary 中,如何添加 `median` 值作为标签来绘图(作为 geom_text())

r - 将图例添加到具有不同类型美学的 ggplot 直方图

css - div中的标签布局

r - 使用outer代替expand.grid

mysql - 如何安装和配置 RMySQL 以连接到远程 MySQL 数据库 (AWS RDS)?

objective-c - 如何在 iOS 中使用标签制作可编辑文本

r - 如何在ggplot2中标注x轴下的组信息

swift - 如何快速增加标签的 y ?