在R geomtextpath中,是否不支持中文
In R geomtextpath, does it's not support chinese
‘geom_textpath’不支持中文吗?如下面的示例,当使用 geom_textpath 向绘图添加标签时,它只显示英文字母。任何人都可以帮忙吗?谢谢!
library(tidyverse)
library(geomtextpath)
plot_data_2 <- data.frame(category=c('品类A','品类B','品类C','品类D'),
amount=c(1,6,4,7))
plot_data_2 %>% ggplot(aes(x=1,y=amount,fill=category))+
geom_col()+geom_textpath(position = position_stack(vjust=0.5),
aes(label=category))+
coord_polar()
免责声明:我是 {geomtextpath} 的另一位作者。
这是字体回退问题。智能文本呈现器会尝试从字体文件中查找特定的字形,如果找不到,则用另一种确实具有该字形的字体替换该字体。因为 {geomtextpath} 必须执行 'convert font index back to glyph' 步骤,回退不起作用。
在这种情况下,最好的做法是明确使用支持汉字的字体。免费提供的 'Noto Sans TC' or 'Noto Sans Simplified Chinese' 字体应该可以,但我不知道繁体还是简体在这里更合适。
library(tidyverse)
library(geomtextpath)
# Didn't reprex well because glyphs below get substituted by `??`.
plot_data_2 <- data.frame(category=c('品类A','品类B','品类C','品类D'),
amount=c(1,6,4,7))
plot_data_2 %>% ggplot(aes(x=1,y=amount,fill=category))+
geom_col()+geom_textpath(position = position_stack(vjust=0.5),
aes(label=category),
family = "Noto Sans TC")+
coord_polar() +
theme(legend.text = element_text(family = "Noto Sans TC"))
‘geom_textpath’不支持中文吗?如下面的示例,当使用 geom_textpath 向绘图添加标签时,它只显示英文字母。任何人都可以帮忙吗?谢谢!
library(tidyverse)
library(geomtextpath)
plot_data_2 <- data.frame(category=c('品类A','品类B','品类C','品类D'),
amount=c(1,6,4,7))
plot_data_2 %>% ggplot(aes(x=1,y=amount,fill=category))+
geom_col()+geom_textpath(position = position_stack(vjust=0.5),
aes(label=category))+
coord_polar()
免责声明:我是 {geomtextpath} 的另一位作者。
这是字体回退问题。智能文本呈现器会尝试从字体文件中查找特定的字形,如果找不到,则用另一种确实具有该字形的字体替换该字体。因为 {geomtextpath} 必须执行 'convert font index back to glyph' 步骤,回退不起作用。
在这种情况下,最好的做法是明确使用支持汉字的字体。免费提供的 'Noto Sans TC' or 'Noto Sans Simplified Chinese' 字体应该可以,但我不知道繁体还是简体在这里更合适。
library(tidyverse)
library(geomtextpath)
# Didn't reprex well because glyphs below get substituted by `??`.
plot_data_2 <- data.frame(category=c('品类A','品类B','品类C','品类D'),
amount=c(1,6,4,7))
plot_data_2 %>% ggplot(aes(x=1,y=amount,fill=category))+
geom_col()+geom_textpath(position = position_stack(vjust=0.5),
aes(label=category),
family = "Noto Sans TC")+
coord_polar() +
theme(legend.text = element_text(family = "Noto Sans TC"))