gpt4 book ai didi

R: tmap 图例格式化

转载 作者:行者123 更新时间:2023-12-02 15:11:46 31 4
gpt4 key购买 nike

我正在尝试创建一个函数来映射特定州学区的不同变量。但是我在格式化图例时遇到了一些问题。目前我已经列出了适合 map 的最佳方式(水平),但一些文本被切断(低于平均贫困率),我想在图例中的数字标签中添加 % .我的代码和图例图像如下。非常感谢您提供的任何帮助。谢谢。

MakeLEAMap <-function(StateNum,NCHE_VAR,VAR1_NAME,In,Folder){
as.character(substitute(StateNum))
as.character(substitute(NCHE_VAR))
as.character(substitute(NCHE_In))
as.character(substitute(VAR1_NAME))
as.character(substitute(Folder))

map <-
tm_shape(LEA_1415_New[LEA_1415_New@data$STATEFP == StateNum, ]) +
tm_polygons(NCHE_VAR,border.col="#000000", lwd= .5, textNA="Below Average \nPoverty Rate" , palette = 'Blues', style="quantile",
title=paste(In," State LEA Map: ",VAR1_NAME),
legend.is.portrait = FALSE) +
tm_text("LCITY", size=NCHE_VAR,scale=.8, root=2,print.tiny = FALSE, size.lowerbound = .85, bg.alpha = .75,
remove.overlap = TRUE,legend.size.show = FALSE, col="black") +
tm_layout( legend.title.size = 3,
frame = FALSE, inner.margins = c(0,.0,.05,.0), asp = 1.5,
legend.text.size = 1,
legend.outside=TRUE, legend.outside.position = 'bottom',
legend.frame = TRUE,
legend.outside.size = .3, legend.position = c(-0.1, 0.3))

save_tmap(map, filename=paste("State_Maps_TEST/",Folder,"/",In,".pdf", sep = ''),width=8, height=8 )
}
MakeLEAMap("48","Abv_Diff_Home_Pov","% Children in Poverty minus \n% Children HCY (Ages5-17)",
"TX","ALL")

Here is what the legend looks like now

最佳答案

要使图例显示百分比,请在 tm_polygons 调用中使用此函数:

legend.format=list(fun=function(x) paste0(formatC(x, digits=0, format="f"), " %"))

你可以玩数字(小数点),如果你愿意,你可以在 % 符号前删除空格。

为了使图例更清晰,通过制作更大的 bbox 来增加 map 周围的空间(可能使用 raster 包中的 extent 函数来读取空间对象的 bbox 和然后放大它)并通过调整其位置来移动图例。

这是我在不同的上下文中想到的,但是在 tmap 图例中也需要一个百分号。 enter image description here

关于R: tmap 图例格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43430851/

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