Можно ли повернуть график и построить его на оси у?

Я хочу нанести свои точки на график, а затем показать распределение плотности по оси 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')

введите описание изображения здесь

1 ответ

Решение

Нет причин, по которым ты не можешь.

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)

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

Примечания:

  1. никогда не использовать par(new = TRUE); задавать xlim а также ylim сам;
  2. настроить сюжет с заголовком, ось отображения самостоятельно.
Другие вопросы по тегам