【R语言】开通了
R语言
群,大家相互学习和交流,请扫描下方二维码,备注:
姓名-
R群
,我会邀请你入群,一起进步和成长
。
本文分享用
element_text
自定义Text的属性,包括颜色、字体、大小等信息。我们想一下,在一幅图中,
有哪些地方会涉及到Text呢?
下面这幅图,清楚地告诉我们element_text可以配置各种Text。
可以发现与text相关,有如下内容:
1
整体图的文本信息
,图的标签信息、主标题,副标题,标注来源
2
坐标轴相关的文本信息
,x轴和y轴的标题文本信息、x轴和y轴的刻度文本信
3
图例相关的文本信息
,图例的标题、图例标注的文本信息
我们举例说明,如何使用element_text函数对上述提及的10种文本信息进行自定义和个性化管理,从而让我们的图形文本信息展示更直观和美丽。我们先看一下element_text函数的结构,从函数里的参数信息了解它可以改变和配置那些属性。
我们常用的参数配置包括颜色控制、位置控制、字体控制和大小控制等,具体是那个参数发挥作用,看参数名称就一目了然了。
我们首先生成一幅简单的图形,尽量包括各种文本信息。
library
(tidyverse)
library
(palmerpenguins)
theme_set(theme_bw(
16
))
p <- penguins %>%
drop_na %>%
ggplot(aes(x=flipper_length_mm,
y=bill_length_mm,
color=species,
shape=sex))+
geom_point+
labs(title=
"Palmer Penguins"
,
subtitle=
"Flipper Length vs Bill Length"
,
caption=
"@RUser"
,
tag =
'A'
效果图如下:
一、主图相关的文本信息做自定义
关注的文本信息有plot.title、plot.subtitle、plot.caption和plot.tag。参照代码如下:
# 字体设置
windowsFonts(
# 中文字体
lishu = windowsFont(family =
"LiSu"
),
# 隶书
yahei = windowsFont(family =
"Microsoft YaHei"
),
# 微软雅黑
xinwei = windowsFont(family =
"STXingwei"
),
# 华文新魏
kaiti = windowsFont(family =
"KaiTi"
),
# 楷体
heiti = windowsFont(family =
"SimHei"
),
# 黑体
# 英文字体
arial = windowsFont(family =
"Arial"
),
# Arial字体
newman = windowsFont(family =
"Times New Roman"
),
#Times New Roman字体
hand = windowsFont(family =
"Lucida Calligraphy"
),
# Lucida手写体
Helvetica = windowsFont(family =
"Helvetica"
)
# 印刷体
p + theme(plot.title= element_text(size=24,
color=
"blue"
,
face=
"bold"
,
family =
"lishu"
),
# 主标题文本信息控制
plot.subtitle= element_text(size=16,
color=
"red"
,
face=
"bold"
),
# 副标题文本信息控制
plot.caption= element_text(size=16,
color=
"pink"
,
face=
"bold"
),
# 来源备注文本信息控制
plot.tag = element_text(size=16,
color=
"red"
,
face=
"bold"
)
# 图形标注文本信息控制
效果图如下:
二、坐标轴相关文本信息自定义
关注的文本信息包括axis.title.x、axis.title.y、axis.text.x和axis.text.y。
参考代码如下:
p + theme(axis.title.x = element_text(size=
16
,
color=
"purple"
,
face=
"bold"
,
angle=
0
),
# x轴标题文本信息控制
axis.title.y = element_text(size=
16
,
color=
"purple"
,
face=
"bold"
,
angle=
90
),
# y轴标题文本信息控制
axis.
text
.x= element_text(family =
"lishu"
,
face=
"bold"
, colour=
"black"
,
size=
10
),
# x轴刻度文本信息控制
axis.
text
.y = element_text(family =
"lishu"
,
face=
"bold"
,
colour=
"black"
,
size=
10
)
# y轴刻度文本信息控制
效果图如下:
三、图例相关文本信息自定义
关注的文本信息包括:legend.title和legend.text。
参考代码如下:
p
+ theme(legend.title=element_text(color=
"purple"
,
face=
"bold"
,
size=
12
),
# 图例标题文本信息控制
legend.text=element_text(family =
"lishu"
,
face=
"bold"
,
color=
"green"
,
size=
10
)
#图例标注文本信息控制
ggsave(
"图例相关文本信息自定义示范图形例子.png"
)
效果图如下:
本文R代码完整版:
######
######
######
####
#文本信息自定义管理
###
######
######
######
#
library(tidyverse)
library(palmerpenguins)
theme_set(theme_bw(
16
))
p <- penguins %>%
drop_na %>%
ggplot(aes(x=flipper_length_mm,
y=bill_length_mm,
color=species,
shape=sex))+
geom_point+
labs(title=
"Palmer Penguins"
,
subtitle=
"Flipper Length vs Bill Length"
,
caption=
"@RUser"
,
tag =
'A'
# 一、主图相关的文本信息做自定义
# 字体设置
windowsFonts(
# 中文字体
lishu = windowsFont(family =
"LiSu"
),
# 隶书
yahei = windowsFont(family =
"Microsoft YaHei"
),
# 微软雅黑
xinwei = windowsFont(family =
"STXingwei"
),
# 华文新魏
kaiti = windowsFont(family =
"KaiTi"
),
# 楷体
heiti = windowsFont(family =
"SimHei"
),
# 黑体
# 英文字体
arial = windowsFont(family =
"Arial"
),
# Arial字体
newman = windowsFont(family =
"Times New Roman"
),
#Times New Roman字体
hand = windowsFont(family =
"Lucida Calligraphy"
),
# Lucida手写体
Helvetica = windowsFont(family =
"Helvetica"
)
# 印刷体
p + theme(plot.title= element_text(size=
24
,
color=
"blue"
,
face=
"bold"
,
family =
"lishu"
),
# 主标题文本信息控制
plot.subtitle= element_text(size=
16
,
color=
"red"
,
face=
"bold"
),
# 副标题文本信息控制
plot.caption= element_text(size=
16
,
color=
"pink"
,
face=
"bold"
),
# 来源备注文本信息控制
plot.tag = element_text(size=
16
,
color=
"red"
,
face=
"bold"
)
# 图形标注文本信息控制
# 二、坐标轴相关文本信息自定义
p + theme(axis.title.x = element_text(size=
16
,
color=
"purple"
,
face=
"bold"
,
angle=
0
),
# x轴标题文本信息控制
axis.title.y = element_text(size=
16
,
color=
"purple"
,
face=
"bold"
,
angle=
90
),
# y轴标题文本信息控制
axis.text.x= element_text(family =
"lishu"
,
face=
"bold"
, colour=
"black"
,
size=
10
),
# x轴刻度文本信息控制
axis.text.y = element_text(family =
"lishu"
,
face=
"bold"
,
colour=
"black"
,
size=
10
)
# y轴刻度文本信息控制
# 三、图例相关文本信息自定义
p + theme(legend.title=element_text(color=
"purple"
,
face=
"bold"
,
size=
12
),
# 图例标题文本信息控制
legend.text=element_text(family =
"lishu"
,
face=
"bold"
,
color=
"green"
,
size=
10
)
#图例标注文本信息控制
ggsave(
"图例相关文本信息自定义示范图形例子.png"
)
关于利用ggplot2包的element_text函数对10种文本信息做自定义控制,有什么问题,请留言或者加入群,一起讨论。
参考资料:
1https://cmdlinetips.com/2021/05/tips-to-customize-text-color-font-size-in-ggplot2-with-element_text/
如何说一口流利的英语?
伙伴们可以看下这个视频,若是有启发,请点赞、关注和分享。
1 R语言做商业智能,助你提高商业生产率
2 用R、tidyverse和mlr做机器学习
3 推断统计与数据科学,moderndive和tidyverse包
4 R for machine learning,从经典的机器学习算法入手
5 R for everyone,人人都可学R和用R,以发现数据里的价值
返回搜狐,查看更多
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。