我的数据框如下所示:
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 1
,Segment 2
和Segment 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
答案 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()