R和ggplot2:两个轴上的因子图

时间:2016-02-17 17:11:53

标签: r plot ggplot2

我的数据框如下所示:

data
>
          | Segment 1 | Segment 2  | Segment 3
Segment 1 | 0.6861964 | 0.16669839 | 0.14710523
Segment 2 | 0.2211293 | 0.69263231 | 0.08623838
Segment 3 | 0.2595055 | 0.05354549 | 0.68694899

我想在轴Segment 1Segment 2Segment 3中使用,并使用表格中的值作为参数,以获得不同大小的点。

我目前尝试的是在上面的数据框中添加一个列Segments并执行melt()以获取下表:

data_melt <- melt(data, id = "Segments")
>
  | Segments  | variable  | value
1 | Segment 1 | Segment 1 | 0.68619638
2 | Segment 2 | Segment 1 | 0.22112931
3 | Segment 3 | Segment 1 | 0.25950552
4 | Segment 1 | Segment 2 | 0.16669839
5 | Segment 2 | Segment 2 | 0.69263231
6 | Segment 3 | Segment 2 | 0.05354549

然后尝试绘制它我被困住了,找不到解决我问题的资源。

ggplot(test, aes(x = Segments, y = variable, size = value))
    geom_point()

它绘制了轴,但没有出现任何一点,我得到以下消息:

geom_point: na.rm = FALSE
stat_identity: na.rm = FALSE
position_identity 

我希望输出看起来像这样: enter image description here

1 个答案:

答案 0 :(得分:2)

我能够通过

重现
data_melt <-  data.frame(seg=c(1,2,3,1,2,3),var=c(1,1,1,2,2,2),value=runif(6))

> ggplot(test, aes(x = Seg, y = var, size = value))
Error: No layers in plot
> geom_point()
geom_point: na.rm = FALSE 
stat_identity:  
position_identity: (width = NULL, height = NULL)

基本上你忘记了+

 ggplot(data_melt, aes(x = seg, y = var,size=value))+geom_point()