如何在雷达图(“fmsb”包)中将默认标签字体类型更改为斜体?

Méd*_*oni 4 fonts label r italic radar-chart

我创建了一个雷达图,用于显示多个物种的文化指数 (CI) 随位置的变化。但是,由于物种名称必须以斜体或下划线书写,因此我需要更改标签项使用的默认字体类型。我已经在互联网上搜索了很多天如何做到这一点但没有成功。似乎这个问题之前已经被问过,但没有实质性的答案。如果有任何帮助,我将不胜感激。这是我的数据,这是代码:

library(fmsb)
colors_border=c( rgb(0.2,0.5,0.5,0.9), rgb(0.8,0.2,0.5,0.9) , rgb(0.7,0.5,0.1,0.9))
colors_in=c(rgb(0.2,0.5,0.5,0.3), rgb(0.8,0.2,0.5,0.3) , rgb(0.7,0.5,0.1,0.3))
radarchart( data  , axistype=1 , pcol=colors_border, pfcol=colors_in, plwd=2.5, plty=1, cglcol="grey", cglty=1, axislabcol="grey40", caxislabels=seq(0,1,0.25), cglwd=0.8, calcex = 0.8, vlabels = c("A. pubescens", "A. alboviolaceum", "A. angustifolium", "A. melegueta", "C. anisata", "C. giganteus", "L. chevalieri", "M. myristica", "P. guineense", "S. longipedunculata",  "T. sanguinea", "U. chamae", "X. aethiopica", "Z. zanthoxyloides"), vlcex=0.8)
legend(x=1.3, y=1.2, legend = rownames(data[-c(1,2),]), bty = "n", pch=20, col=colors_border, text.col = "grey25", cex=0.8, pt.cex=1.5)
Run Code Online (Sandbox Code Playgroud)

radarchart()输出:

雷达图()输出

Méd*_*oni 7

我终于找到了解决方案。我们需要做的就是在调用之前将系列和字体绘图参数设置为我们想要的值radarchart()。这可以通过par().

设置默认字体系列

op <- par(family = "Times New Roman", font=3)
colors_border=c( rgb(0.2,0.5,0.5,0.9), rgb(0.8,0.2,0.5,0.9), rgb(0.7,0.5,0.1,0.9))
colors_in=c(rgb(0.2,0.5,0.5,0.3), rgb(0.8,0.2,0.5,0.3),
rgb(0.7,0.5,0.1,0.3))
Run Code Online (Sandbox Code Playgroud)

绘制雷达图

radarchart( data  , axistype=1,pcol=colors_border, pfcol=colors_in,
plwd=2.5, plty=1, cglcol="grey", cglty=1, axislabcol="grey40",
caxislabels=seq(0,1,0.25), cglwd=0.8, calcex = 0.8, vlcex=0.8, vlabels = c("A. pubescens", "A. alboviolaceum", "A. angustifolium", "A. melegueta", "C. anisata", "C. giganteus", "L. chevalieri", "M. tenuifolia", "P. guineense", "S. lonipedunculata", "T. sanguinea", "U. chamae", "X. aethiopica", "Z. zanthoxyloides"))
Run Code Online (Sandbox Code Playgroud)

重置绘图参数

par(op)

上面的代码生成: 图像

来源:如何更改 R 图中图例中的字体系列?