我有一个类似下面的矩阵(但是有更多条目,这只是一个例子):
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
,如下图所示:
我们可以看到,在时间0
处有第一列,在时间1
处有第二列,依此类推。如何获得此结果?
答案 0 :(得分:3)
这里有些肮脏:
with(stack(as.data.frame(m)), plot(x = (as.numeric(ind) - 1), y = values, col = "blue", pch = 19))
答案 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()