在R中的图中翻转X和Y值(数据也改变轴)

如何在R中绘制图,以便变量的值沿X轴显示,变量名沿Y轴垂直移动?最终,绘图应该看起来垂直,Y轴上的变量名称和X轴上的值.

下面的代码表面上会这样做,但问题是实际的绘图值不会随轴翻转.意思是,该图仍然构造为名称沿着X轴并且值沿着Y轴.

以下变量:

value =数字的列向量

name =与每个数字对应的名称列

plot(value, axes=F, xlab="", ylab= "", type= "b", xlim=c(-5, 50), ylim=c(0, 8))
axis(1)
axis(2, at = 1:length(name), labels = name, las=1, pos=-3.0,cex.axis=.65 )

谢谢!

最佳答案
为了方便这方面的灵活性,我喜欢格子包中的绘图功能:

 library(lattice)

 # First make some example data
 df <- data.frame(name=rep(c("a", "b", "c"), each=5), value=rnorm(15))

 # Then try plotting it in both 'orientations'
 # ... as a dotplot
 xyplot(value~name, data=df)
 xyplot(name~value, data=df)

 # ... or perhaps as a 'box-and-whisker' plot
 bwplot(value~name, data=df)
 bwplot(name~value, data=df)

如果需要,您也可以使用基本图形进行绘图,但是您必须在轴标签上稍微工作一下:

plot(x=df$value, y=df$name, yaxt="n",
     xlab="value", ylab="name")
axis(2, at=1:3, labels=levels(df$name), las=1)

转载注明原文:在R中的图中翻转X和Y值(数据也改变轴) - 代码日志