0

我有一个df包含 2 列的数据框:A, B.

我想要一个包含AB在 Y 轴上的图表。注意:我不想合并Aand B。他们每个人都有自己的结果。

因此,对于 x 轴的每个单个值,所需的输出应该包含两个并排的框(一个 forA和一个 for B)(偏移量 = 0)。

样本df

A      B

200.  30.        
100.  26.               
27.   25.       
25.   22.        
40.   21.       
20.   18. 

我不想使用重塑或交互。我宁愿只将 ggplot 与箱线图一起使用。

ReadData<-read.csv("data.csv", header=T)
A<-ggplot(ReadData,aes(A)+
   geom_boxplot(ReadData$A)

B<-ggplot(ReadData,aes(B)+ 
   geom_boxplot(ReadData$B)

print(A)
print(B)

它不工作?它抱怨映射AES!有什么建议吗?

4

2 回答 2

0

数据:

df <- read.table(text="A      B
200.  30.        
100.  26.               
27.   25.       
25.   22.        
40.   21.       
20.   18. ", header = TRUE)

以下代码生成条形图。不可能生成具有单个值的箱线图。

library(ggplot2)

ggplot(stack(df), aes(x = rownames(df), y = values, fill = ind)) + 
  geom_bar(stat="identity", position="dodge")

在此处输入图像描述

于 2012-11-20T08:10:42.023 回答
0

基于上一个答案,并生成箱线图

df <- read.table(text="A      B
200.  30.        
100.  26.               
27.   25.       
25.   22.        
40.   21.       
20.   18. ", header = TRUE)

ggplot(
    data = df %>% 
      pivot_longer( 
        cols = c(A, B),
        names_to = "x",
        values_to = "y",
      ),
    aes(x = x, y = y, fill = x)) +
  geom_boxplot(outlier.colour = "red", show.legend = FALSE)

箱线图示例

您可能需要对比例进行一些调整,添加抖动点等。

于 2019-11-29T15:05:01.763 回答