使用R中的ggplot2绘制矩阵

时间:2016-06-30 22:15:36

标签: r matrix ggplot2

我想使用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()

enter image description here

请注意,我保存了一个名为a_melt的新数据集,以便更容易引用。此外,由于数据已融化,如果我们将x值定义为Var2的{​​{1}}列而不是a_melt列,则会更清晰。