按列绘制矩阵

时间:2019-04-30 13:40:48

标签: r matrix plot

我有一个类似下面的矩阵(但是有更多条目,这只是一个例子):

m<-matrix(c(1,2,-1,0,3,2,1,2,3), nrow=3)

     [,1] [,2] [,3]
 [1,]    1    0    1
 [2,]    2    3    2
 [3,]   -1    2    3

我想按列绘制矩阵m,如下图所示:

enter image description here

我们可以看到,在时间0处有第一列,在时间1处有第二列,依此类推。如何获得此结果?

2 个答案:

答案 0 :(得分:3)

这里有些肮脏:

with(stack(as.data.frame(m)), plot(x = (as.numeric(ind) - 1), y = values, col = "blue", pch = 19))

enter image description here

答案 1 :(得分:1)

这可以通过将数据转换为数据框并使用 tidyr ggplot2

来完成。
# Your data
m<-matrix(c(1,2,-1,0,3,2,1,2,3), nrow=3)

# Converting to dataframe
df <- data.frame(m)

# Importing libraries
library(tidyr)
library(ggplot2)

# Converting data to narrow format
df_narrow <- gather(df, "group", "values", 1:3)

# Plotting data
ggplot(df_narrow, aes(group, values)) + geom_point()

enter image description here