如何在R中绘制以下内容?

Ste*_*hen 14 plot r

我是新来策划R所以我请求你的帮助.说我有以下矩阵.

mat1 <- matrix(seq(1:6), 3)
dimnames(mat1)[[2]] <- c("x", "y")
dimnames(mat1)[[1]] <- c("a", "b", "c")
mat1
  x y
a 1 4
b 2 5
c 3 6
Run Code Online (Sandbox Code Playgroud)

我想绘制这个,其中x轴包含每个rowname(a,b,c),y轴是每个rowname的值(a = 1和4,b = 2和5,c = 3和6 ).任何帮助,将不胜感激!

|     o
|   o x
| o x
| x
|_______
  a b c
Run Code Online (Sandbox Code Playgroud)

jor*_*ran 12

这是使用基本图形的一种方式:

plot(c(1,3),range(mat1),type = "n",xaxt ="n")
points(1:3,mat1[,2])
points(1:3,mat1[,1],pch = "x")
axis(1,at = 1:3,labels = rownames(mat1))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑包括不同的绘图符号


Jos*_*ien 10

matplot() 是为这种格式的数据而设计的:

matplot(y = mat1, pch = c(4,1), col = "black", xaxt ="n",
        xlab = "x-axis", ylab = "y-axis")
axis(1, at = 1:nrow(mat1), labels = rownames(mat1))             ## Thanks, Joran
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • ...你可以做与`xaxt`和`axis`相同的事情,用字母标记x轴. (2认同)

Mat*_*erg 6

最后,一个晶格解决方案

library(lattice)
dfmat <- as.data.frame(mat1)
xyplot( x + y ~ factor(rownames(dfmat)), data=dfmat, pch=c(4,1), cex=2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述