2016-12-05 74 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

但我想在同一时间绘制点。重点应放在要点上。对于密度分布来说,这个比例非常大,我必须设定超大的限制 –

相关问题