如何解决ggplot绘制dendrogram树状图时无法修改字体的问题?
你代码中字体设置不生效有两个核心原因:
labs()函数仅用于定义坐标轴、标题的文本内容,不支持传入family、cex这类样式参数,你写在labs里的字体参数完全无效- 树状图自带的样本标签属于
dendextend转换生成的独立图层,默认不继承ggplot的全局字体配置,需要单独设置
修改后的完整可生效代码如下:
dencw3m <- as.dendrogram(aggl.clust.manhattan.ward.cw3m) dendro.col.cw3m <- dencw3m %>% set("branches_k_color", k = 5, value = c("blue", "red", "limegreen", "gold", "darkorange")) %>% set("branches_lwd", 0.6) %>% set("labels_colors", value = c("darkslategray")) %>% set("labels_cex", 0.5) %>% # 新增:设置树状图样本标签的字体 set("labels_family", "serif") gg.cw3m <- as.ggdend(dendro.col.cw3m) ggplot(gg.cw3m, theme = theme_minimal()) + labs(x = "Fall", y = "Homogenität", title = "Dendrogramm cw3m") + # 新增:配置ggplot全局文本样式,所有轴标签、标题都会应用serif字体 theme( text = element_text(family = "serif"), # 可按需单独调整某一类文本的字号、字重等属性 plot.title = element_text(size = 12), axis.text = element_text(size = 9) )
内容的提问来源于stack exchange,提问作者SasaNoHaus
相关产品推荐
相关产品推荐

