2016-12-05 3 views
0

Я хочу построить мои точки на графике, а затем показать распределение плотности по оси x и по оси y в одно и то же время. Я могу сделать это по оси x, но не по оси y.Могу ли я повернуть график и построить его на оси 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

+0

Я попытался это: '' 'пар (mfrow = с (1,1), BG = "белый") участок (RNorm (100)) пар (новый = TRUE) участок (плотность (rnorm (100,10,123)), ann = FALSE, xlab = "", ylab = "", xaxt = 'n', yaxt = 'n') d = плотность (rnorm (100, 10,12)) par (new = TRUE, bg = NA) plot (d $ y, d $ x, type = "l", col = "red", ann = FALSE, xlab = "", ylab = "", xaxt = 'n', yaxt = 'n', bty = 'n) '' ', но это не печатает график под ним ... –

ответ

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); set xlim и ylim самостоятельно;
  2. настроить сюжет с заголовком, показать ось самостоятельно.
+0

Но я хочу построить точки одновременно. Основное внимание следует уделить точкам. Шкала настолько велика для распределения плотности по сравнению с точками, что я должен установить пределы супер большие –

Смежные вопросы