首页 > 解决方案 > 在 ggplot2 中删除类别并添加数据点

问题描述

我正在尝试使用以下示例代码开发箱线图:

a <- ggplot(na.omit(dataframe), aes(x=Type, y=X_cells, fill=as.factor(response))) + 
  geom_boxplot() 
a + ggtitle("Sampletext") + 
   ylab("X cells") + scale_fill_discrete(name = "Response", labels = c("Negative", "Positive")) + 
   theme(plot.title = element_text(face = "bold", hjust=0.5))

但是,这会导致在 x 轴上总共有 6 个类别的图,其中每个类别有 2 个框(一个表示正数,一个表示负数),总共产生 12 个箱线图。第 6 个类别在我要删除的轴中额外显示为“0”。这可能吗?

另外,有没有办法在箱线图中显示正箱和负箱的数据点?

谢谢!

标签: r

解决方案


Type您可能想检查您的变量有多少级别,str(dataframe$Type)并检查第 6 个类别是否基于您的数据设置中的某些问题,或者只是将其排除在例如

library(dplyr)
dataframe_new <- filter(dataframe, Type != "0")

你也可以filter(dataframe, Type != "0")在你的 ggplot 函数中使用不创建一个新的数据框然后尝试重新绘制它(但是如果没有看到实际的数据集就很难说确切的代码是否有效;所以你可能不得不调整这个""术语)。

为了可视化数据点,您可以添加术语+ geom_point(position = position_jitterdodge(),然后将其调整为您的偏好。


推荐阅读