R绘图中坐标轴经纬度标签的粗体格式设置问题
解决R绘图中坐标轴经纬度标签全加粗的问题
这个问题我之前也碰到过!当用expression(bold(30~degree~N))时只有方向字母加粗,是因为plotmath对bold()的作用范围解析需要注意——你得确保所有需要加粗的元素都被包含在bold()内部,或者换一种更简单的字符串写法配合字体设置。
方案1:正确使用plotmath的bold()包裹整个表达式
把数字、度数符号和方向字母整个放在bold()里,这样整个标签都会被加粗:
par(mar=rep(6,4)) library(maps) image(seq(-180,180,1),seq(-90,90,1),array(NA,c(length(seq(-180,180,1)),length(seq(-90,90,1)))),xlab="",ylab="",xaxt='n',yaxt='n') map(add=T,interior=F,lwd=3) axis(1,at=seq(-200,200),rep(NA,401),lwd.ticks=0,lwd=5) axis(3,at=seq(-200,200),rep(NA,401),lwd.ticks=0,lwd=5) axis(2,at=seq(-100,100),rep(NA,201),lwd.ticks=0,lwd=5) axis(4,at=seq(-100,100),rep(NA,201),lwd.ticks=0,lwd=5) # 修改后的坐标轴标签,全部用bold包裹整个表达式 axis(1,at=seq(-150,150,30), c(expression(bold(150~degree~W)), expression(bold(120~degree~W)), expression(bold(90~degree~W)), expression(bold(60~degree~W)), expression(bold(30~degree~W)), expression(bold(0~degree)), expression(bold(30~degree~E)), expression(bold(60~degree~E)), expression(bold(90~degree~E)), expression(bold(120~degree~E)), expression(bold(150~degree~E))), lwd.ticks = 5,cex.axis=1.1,font.axis=2,tck=.022,las=2)
方案2:使用普通字符串配合font.axis=2
如果你不想用plotmath的表达式,可以直接用带度数符号(°)的普通字符串,然后设置font.axis=2来让所有标签加粗,这种方法更直观:
par(mar=rep(6,4)) library(maps) image(seq(-180,180,1),seq(-90,90,1),array(NA,c(length(seq(-180,180,1)),length(seq(-90,90,1)))),xlab="",ylab="",xaxt='n',yaxt='n') map(add=T,interior=F,lwd=3) axis(1,at=seq(-200,200),rep(NA,401),lwd.ticks=0,lwd=5) axis(3,at=seq(-200,200),rep(NA,401),lwd.ticks=0,lwd=5) axis(2,at=seq(-100,100),rep(NA,201),lwd.ticks=0,lwd=5) axis(4,at=seq(-100,100),rep(NA,201),lwd.ticks=0,lwd=5) # 使用带度数符号的字符串,font.axis=2实现全加粗 axis(1,at=seq(-150,150,30), c("150°W", "120°W", "90°W", "60°W", "30°W", "0°", "30°E", "60°E", "90°E", "120°E", "150°E"), lwd.ticks = 5,cex.axis=1.1,font.axis=2,tck=.022,las=2)
为什么之前的方法不行?
- 当你只写
expression(bold(150~degree~W))时,R的plotmath解析逻辑会导致只有W被正确加粗,把整个表达式放进bold()里就能避免这个问题。 par(font=2)和font.axis=2对expression()生成的文本优先级低于表达式内部的格式设置,所以单独设置这些参数无法覆盖expression里的格式。
内容的提问来源于stack exchange,提问作者Smich7
相关产品推荐
相关产品推荐

