gpt4 book ai didi

r - 改变 R 中图例的边距

转载 作者:行者123 更新时间:2023-12-04 02:18:47 25 4
gpt4 key购买 nike

我对 R 很陌生,所以我在这里有点挣扎,我还没有找到我的问题的答案。

我正在尝试在 R 中生成一个简单的条形图,并且使用 las=2 将 x 轴变量标签设置为垂直。 .然后,我使用 par(mar=c(20,15,5,3)) 更改了条形图的边距,以便标签不会与 xlab 标签重叠。和 par(mgp=c(6,1,0)) .

我想为此添加一个图例,但我已经采用了图形本身的边距尺寸,因此它看起来太大并且不适合。我尝试使用 cex但这只会影响图例中的文本。无论如何,我是否可以独立更改图例边距(或图形边距)?

这是我编码的内容:

par(mar=c(20,15,5,3))
par(mgp=c(6,1,0))
par(xpd=TRUE)
barplot(
names.arg=c("Africa", "Central America, South America, Caribbean",
"Middle East", "Central and Eastern Europe",
"South and East Asia"),
cex.names=0.8, las=2, t(YLL),
ylab="Percentage (%)", ylim=c(0,100), main="", beside=TRUE,
col= c("green4", "orange"),xlab="Regions", mar=c(20,15,5,3)
)
legend(
10, 100,
legend=c("Communicable diseases", "Communicable diseases"),
fill= c("green4", "orange"), cex=0.7
)

我将非常感谢您的帮助,谢谢。

最佳答案

您也可以使用 legend 的参数功能:y.intersp , x.intersptext.width用于减小图例的大小。

这里有一个例子:

set.seed(55) # Set the seed of R‘s random number generator
x <- 1:10
y <- runif(10, min=0, max=100) # Generating random numbers
z <- runif(10, min=0, max=100) # Generating random numbers
plot(x,y, type="l", ylim=c(0,100), ylab="y and z")
par(new=TRUE)
plot(x,z, type="l", col="red", ylim=c(0,100), ylab=NA, xaxt='n', yaxt='n')
legend("topright", c("y","z"), lty="solid", col=c("black", "red"))

before

和修改 legend 的相同代码功能:
set.seed(55) # Set the seed of R‘s random number generator
x <- 1:10
y <- runif(10, min=0, max=100) # Generating random numbers
z <- runif(10, min=0, max=100) # Generating random numbers
plot(x,y, type="l", ylim=c(0,100), ylab="y and z")
par(new=TRUE)
plot(x,z, type="l", col="red", ylim=c(0,100), ylab=NA, xaxt='n', yaxt='n')
legend("topright", c("y","z"), lty="solid", col=c("black", "red"), y.intersp=0.5,x.intersp=0.5,text.width=0.1)

after

关于r - 改变 R 中图例的边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543240/

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