我在R中叠加两个图像。一个图像是一个箱形图(使用boxplot()
),另一个是散点图(使用scatterplot()
)。我注意到沿x轴的刻度差异。 (A)是箱线图比例。 (B)用于散点图。
我一直试图做的是重新缩放(B)以适应(A)。我注意到散点图中有一个叫做xlim的条件。尝试过,没有用。我也注意到这个例子出现了,因为我正在输入问题:Change Axis Label - R scatterplot。
尝试过,没有工作。
如何修改x轴以将比例从1.0,1.5,2.0,2.5,3.0更改为1,2,3。
在Stata中,我知道你可以指定x轴范围,然后指出它们之间的升压。例如,范围可以是0-100,并且每个可测量点将被设置为10.因此,您最终得到10,20,....,100。
我的R代码,看起来像这样:
library(car)
boxplot(a,b,c)
par(new=T)
scatterplot(x, y, smooth=TRUE, boxplots=FALSE)
我已尝试修改散点图,但没有成功:
scatterplot(x, y, smooth=TRUE, boxplots=FALSE, xlim=c(1,3))
答案 0 :(得分:4)
正如评论中提到的那样使用as.factor
,那么xaxis应该对齐。这是ggplot
解决方案:
#dummy data
dat1 <- data.frame(group=as.factor(rep(1:3,4)),
var=c(runif(12)))
dat2 <- data.frame(x=as.factor(1:3),y=runif(3))
library(ggplot2)
library(grid)
library(gridExtra)
#plot points on top of boxplot
ggplot(dat1,aes(group,var)) +
geom_boxplot() +
geom_point(aes(x,y),dat2)
绘制为单独的图
gg_boxplot <-
ggplot(dat1,aes(group,var)) +
geom_boxplot()
gg_point <-
ggplot(dat2,aes(x,y)) +
geom_point()
grid.arrange(gg_boxplot,gg_point,
ncol=1,
main="Plotting is easier with ggplot")
修改强> 按照@RuthgerRighart
的建议使用xlim#dummy data - no factors
dat1 <- data.frame(group=rep(1:3,4),
var=c(runif(12)))
dat2 <- data.frame(x=1:3,y=runif(3))
par(mfrow=c(2,1))
boxplot(var~group,dat1,xlim=c(1,3))
plot(dat2$x,dat2$y,xlim=c(1,3))