R plot:如何使用plot()制作带水平线的直方图

时间:2012-01-05 10:02:20

标签: r graph charts plot data-visualization

如何使用plot将此图横向转动以使直方图条水平?

size<- abs(rnorm(20,10,10))
age<-c(seq(1, 20, by=2))
plot(size~age, type=("n")); lines(size~age, type=c("l"), lines(size~age, type=c("h")))

enter image description here

我想要的大概是这样的,直方图线是水平的:

enter image description here

我用

做的
plot(size~age, type=("n"), yaxt="n", xaxt="n", ylab=""); lines(size~age, type=c("l"), lines(size~age, type=c("h"))); axis(4); axis(1,las=2)

然后在其他软件中旋转图像输出。

我想知道如何使用plot函数来侧向输出输出图,以便我可以在R中创建它们,而不必在{{1}之外旋转它们}。

更新感谢@csgillespie提供的非常有用的建议我已经得到了这个,这让我顺道而行:

R

这是由此产生的情节(不是很漂亮,但我想我可以从这里做其余的事情):

enter image description here

1 个答案:

答案 0 :(得分:4)

您可以使用-age然后手动添加比例来获得所需内容。

plot(-age~size, type="n",yaxt="n", xlab="", ylab="Age")
lines(-age~size)
segments(0, -age, size, -age)
axis(2, labels=c(0,5,10,15,20), at=-c(0,5,10,15,20), las=1)

上面的代码为您的示例图生成了相同的图,但y轴标签已旋转。如果要旋转y轴标签,请在绘图命令中使用ylab=""并使用text手动添加

enter image description here