我想使用ggplot2
绘制对应于矩阵列名的5个变量的分布
a <- matrix(runif(1:25),ncol=5,nrow=1)
colnames(a) <- c("a","b","c","d","e")
rownames(a) <- c("count")
我试过了:
ggplot(data=melt(a),aes(x=colnames(a),y=a[,1]))+ geom_point()
但是,这会产生一个结果,好像所有列都具有相同的y值
注意:我使用reshape
功能包melt()
1 个答案:
答案 0 :(得分:1)
所有列看起来都具有相同的y值,因为您只在y=
语句中指定了1个数字。您说的是y=a[,1]
,如果您在命令窗口中输入a[,1]
,您会发现0.556
(所有内容都出现在的数字)。我想这就是你想要的:
library(reshape2)
library(ggplot2)
a_melt<- melt(a)
ggplot(data=a_melt,aes(x=unique(Var2),y=value))+ geom_point()
请注意,我保存了一个名为a_melt
的新数据集,以便更容易引用。此外,由于数据已融化,如果我们将x值定义为Var2
的{{1}}列而不是a_melt
列,则会更清晰。