我可以旋转图形并在y轴上绘制它吗?

时间:2016-12-05 20:17:41

标签: r plot kernel-density

我想在图表上绘制我的点,然后同时显示x轴和y轴上的密度分布。 我能够在x轴上进行,但不能在y轴上进行。

par(mfrow=c(1,1))
plot(rnorm(100))
par(new=TRUE)
plot(density(rnorm(100,10,123)), ann = FALSE, xlab = "", ylab ="",xaxt='n', yaxt='n')

par(new=TRUE)
plot(density(rnorm(100, 10,12)), col = "red", ann = FALSE, xlab = "", ylab ="",xaxt='n', yaxt='n')

enter image description here

1 个答案:

答案 0 :(得分:2)

没有理由你不能。

set.seed(0)
d1 <- density(rnorm(100, 10, 123))
d2 <- density(rnorm(100, 10, 130))

## shared x, y, range / limit
xlim <- c(min(d1$x[1], d2$x[1]), max(d1$x[512], d2$x[512]))  ## default: n = 512
ylim <- c(0, max(d1$y, d2$y))

## conventional plot
plot(d1$x, d1$y, type = "l", xlim = xlim, ylim = ylim)
lines(d2$x, d2$y, col = 2)

enter image description here

## rotated plot
plot(d1$y, d1$x, type = "l", xlim = ylim, ylim = xlim)
lines(d2$y, d2$x, col = 2)

enter image description here

<强>说明:

  1. 从不使用par(new = TRUE);自己设置xlimylim;
  2. 使用标题自定义绘图,轴自己显示。