2016-12-05 73 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 = C(1,1),BG = 「白」) 圖(RNORM(100)) 面值(新= TRUE) 情節(密度(rnorm(100,10,123)),ann = FALSE,xlab =「」,ylab =「」,xaxt ='n',yaxt ='n')d = density(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);自己設置xlimylim;
  2. 用標題自定義繪圖,軸自己顯示。
+0

但我想在同一時間繪製點。重點應放在要點上。對於密度分佈來說,這個比例非常大,我必須設定超大的限制 –

相關問題