gpt4 book ai didi

R,绘图,多个绘图图形中的字体大小变化

转载 作者:行者123 更新时间:2023-12-04 11:28:36 31 4
gpt4 key购买 nike

我正在为出版物创建图表并希望它们具有相同的字体大小。

当我用多图创建图形时,字体大小会减小,即使我没有更改tiff() 分辨率或pointsize 参数。我根据最终适合的地 block 数量增加了图形大小,并确保单个和多个地 block 图形的边距相等。

示例代码如下(1x1和2x1图形字号一致,3x2图形字号变小):

tiff("1x1.tif", width=3,height=2.5,units="in",res=600,pointsize=8,
compression="lzw",restoreConsole=T)
par(mfrow=c(1,1),mar=c(4,4,.5,.5)+0.1)
plot(x=rnorm(10),y=rnorm(10))
dev.off()

tiff("2x1.tif", height=2.5*2,width=3,units="in",res=600,pointsize=8,
compression="lzw",restoreConsole=T)
par(mfrow=c(2,1),mar=c(2,4,2.5,0.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),xaxt="n",xlab="")
par(mar=c(4,4,0.5,0.5)+0.1)
plot(x=rnorm(10),y=rnorm(10))
dev.off()

tiff("3x2.tif", height=2.5*3,width=3*2,units="in",res=600,pointsize=8,
compression="lzw",restoreConsole=T)
par(mfrow=c(3,2),mar=c(.5,4,4,0.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),xaxt="n",xlab="")
par(mar=c(.5,2,4,2.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),xaxt="n",xlab="",yaxt="n",ylab="")
par(mar=c(2.5,4,2,0.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),xaxt="n",xlab="")
par(mar=c(2.5,2,2,2.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),xaxt="n",xlab="",yaxt="n",ylab="")
par(mar=c(4.5,4,0,0.5)+0.1)
plot(x=rnorm(10),y=rnorm(10))
par(mar=c(4.5,2,0,2.5)+0.1)
plot(x=rnorm(10),y=rnorm(10),yaxt="n",ylab="")
dev.off()

为什么会这样?

P.S.:我没有使用 ggplot2lattice 因为我在“实际”数字上使用了我自己的错误栏函数(我不记得为什么现在,但我尝试使用 ggplot2 错误栏,但没有得到我想要的)。

最佳答案

控制图中对象(包括文本)的整体相对大小的参数称为 cex。当您使用许多面板时,默认情况下它会减少,但可以通过手动将其设置为 1 来覆盖它。

par(mfrow=c(3,2), mar=c(.5,4,4,0.5)+0.1, cex=1)

题外话

看起来你应该使用 oma(外边距)而不是调用 par(mar=...) 调用 plot。我发现它非常有用,但似乎几乎没有人知道它。此外,ann=FALSE 关闭所有注释,las=1 将轴刻度标签水平旋转。

par(mfrow=c(3,2), oma=c(4.5, 4, 4, 2.5), mar=rep(.1, 4), cex=1, las=1)
plot(x=rnorm(10), y=rnorm(10), ann=FALSE, xaxt="n")
plot(x=rnorm(10), y=rnorm(10), ann=FALSE, xaxt="n", yaxt="n")
plot(x=rnorm(10), y=rnorm(10), ann=FALSE, xaxt="n")
plot(x=rnorm(10), y=rnorm(10), ann=FALSE, xaxt="n", yaxt="n")
plot(x=rnorm(10), y=rnorm(10), ann=FALSE)
plot(x=rnorm(10), y=rnorm(10), ann=FALSE, yaxt="n")
title("My plot", outer=TRUE)
mtext("X-axis label", 1, 3, outer=TRUE)
mtext("Y-axis label", 2, 3, outer=TRUE, las=0)

enter image description here

关于R,绘图,多个绘图图形中的字体大小变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12534219/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com