ggplot:在y轴上具有列索引的dotplot,其值为点大小VS在x轴上的第二列值

时间:2017-05-19 09:52:48

标签: r ggplot2

我有一个看起来像这样的数据表

#       A1  A2  A3  B1  B2  B3
#   1:  1   1   3   1   5   5
#   2:  2   1   3   2   6   9
#   3:  3   2   1   3   8   11
#   4:  4   2   1   4   9   15

现在我想用ggplot在x轴上绘制B1,B2和B3列的值,使用A1,A2和A3列中相应的值作为点大小,得到类似这样的东西 dot plot(请注意,在图片中y轴反转,标签应为3> 1,2 = 2和1> 3)

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这样的事情:?

df=read.table(text="
       A1  A2  A3  B1  B2  B3
     1   1   3   1   5   5
     2   1   3   2   6   9
     3   2   1   3   8   11
     4   2   1   4   9   15",header=T)

ggplot(gather(df[,4:6]),aes(x=key,y=value)) + 
  geom_point(aes(size=gather(df[,1:3])$value)) + 
  theme_bw() + theme(panel.grid.major = element_blank(),
                     panel.grid.minor = element_blank())