繁体   English   中英

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

[英]Removing some tick labels in boxplots in ggplot2

我对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)
    )

这确实不是一个难题。 关键思想可以在这里轻松找到。

基本上,您缺少一行代码。 既然你没有分享你的数据样本(羞辱你!看到这个 ),我生成了一些。 这是解决方案:

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 文档

UPD。

在发布之前不要忘记查看相关问题: bump1, bump2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM