ggplot 中的字体更改不适用于双标图标签名称
Font change in ggplot not working on biplot label names
我偶然发现了一个问题,我可以将双标图像中的所有文本更改为另一种字体,但标签除外。
下面是一个简单的问题示例,标签文本明显不同:
附上我使用的代码。我找不到解决这个问题的方法,希望有人能提供帮助。
p <- fviz_pca(fit, geom = c("point"),
repel = TRUE, label = "var",
habillage = IOSDV1$Fertilisation,
addEllipses = TRUE, ellipse.type="confidence",
palette = "npg", labelsize = 5, pointsize = 3,
col.ind = "black", col.var = "black", arrowsize = 0.6) +
theme_bw(base_family = "Palatino Linotype") +
theme(text = element_text(family = "Palatino Linotype", size = 14)) +
labs(title = "")
ggsave(filename = "ggplot_garamond.png", dpi = 600, type = "cairo")
回答
您必须将 font.family
参数添加到 fviz_pca
:
fviz_pca(fit, geom = c("point"),
repel = TRUE, label = "var",
habillage = IOSDV1$Fertilisation,
addEllipses = TRUE, ellipse.type="confidence",
palette = "npg", labelsize = 5, pointsize = 3,
col.ind = "black", col.var = "black", arrowsize = 0.6,
font.family = "Palatino Linotype")
理由
在内部,fviz_pca
调用 fviz
,后者又调用 ggpubr::ggscatter
。在此函数中,您可以使用 font.family
参数指定字体系列。
我偶然发现了一个问题,我可以将双标图像中的所有文本更改为另一种字体,但标签除外。
下面是一个简单的问题示例,标签文本明显不同:
附上我使用的代码。我找不到解决这个问题的方法,希望有人能提供帮助。
p <- fviz_pca(fit, geom = c("point"),
repel = TRUE, label = "var",
habillage = IOSDV1$Fertilisation,
addEllipses = TRUE, ellipse.type="confidence",
palette = "npg", labelsize = 5, pointsize = 3,
col.ind = "black", col.var = "black", arrowsize = 0.6) +
theme_bw(base_family = "Palatino Linotype") +
theme(text = element_text(family = "Palatino Linotype", size = 14)) +
labs(title = "")
ggsave(filename = "ggplot_garamond.png", dpi = 600, type = "cairo")
回答
您必须将 font.family
参数添加到 fviz_pca
:
fviz_pca(fit, geom = c("point"),
repel = TRUE, label = "var",
habillage = IOSDV1$Fertilisation,
addEllipses = TRUE, ellipse.type="confidence",
palette = "npg", labelsize = 5, pointsize = 3,
col.ind = "black", col.var = "black", arrowsize = 0.6,
font.family = "Palatino Linotype")
理由
在内部,fviz_pca
调用 fviz
,后者又调用 ggpubr::ggscatter
。在此函数中,您可以使用 font.family
参数指定字体系列。