彻底解决R可视化:中文字体显示「豆腐块」问题!
# 导入必要的包
library(ggplot2)# 设置主题样式
theme_set(theme_minimal(base_size = 15))
# 创建一个简单的折线图
ggplot(data = data.frame(x = c(1, 2, 3), y = c(1, 2, 3)), aes(x = x, y = y)) +
geom_line(color = "blue") +
labs(title = "欢迎关注公众号:pythonic生物人", color = "red") +
theme(plot.title = element_text(hjust = 0.5, color = "red"),
axis.text = element_text(color = "black"))
使用R绘图时,当涉及到中文字体时,常常出现上图中的“豆腐块”,下文介绍一种超级简单解决方法。
问题解决
# 导入必要的包
library(ggplot2)
library(showtext)
showtext_auto()# 设置主题样式
theme_set(theme_minimal(base_size = 15))
# 创建一个简单的折线图
ggplot(data = data.frame(x = c(1, 2, 3), y = c(1, 2, 3)), aes(x = x, y = y)) +
geom_line(color = "blue") +
labs(title = "欢迎关注公众号:pythonic生物人", color = "red") +
theme(plot.title = element_text(hjust = 0.5, color = "red"),
axis.text = element_text(color = "black"))
主要借助showtext包,两行代码library(showtext) showtext_auto()解决问题,
关于showtext不过多介绍,
showtext makes it easy to use various types of fonts (TrueType, OpenType, Type 1, web fonts, etc.) in R plots. The motivation to develop this package is that using non-standard fonts in R plots (especially for PDF device) is not straightforward, for example, when creating PDF with Chinese characters. This is because most of the standard fonts used by pdf() do not contain Chinese character glyphs, and users could hardly use system fonts in R. https://github.com/yixuan/showtext
推荐阅读:
最有价值50图表(python代码分享) 详解Python列表推导式|迭代器|生成器|匿名函数 Jupyter Notebook的16个超棒插件! 临床WGS/WES/Gene Panel/Single gene异同 一图胜千言,超形象图解NumPy教程! 那些神经网络可视化利器 R Graphics Cookbook中译教程
我的学习小圈子👉 加入 点个 在看就是最大的支持