背景:
R
上使用 RStudio
,从 .csv
文件 (meu_primeiro_csv
) 中制作基本的 ggplot()
;.csv
文件是使用read_csv()
导入的,我使用col_types = list()
手动输入每列的类型。因此,这些类型是正确的;ggplot()
非常重要:TP_DEPENDENCIA
,因为它不仅在geom_point()
上用作color
和shape
,而且还用于作为 facet_wrap()
;TP_DEPENDENCIA
是col_factor()
类型,并且有四个可能的值:1
、2
、3
或4
。在该代码中,每个值代表不同类型的学校:1
= Federal
、2
= Estadual
、3
= Municipal
或 4
= Privada
。没有其他类型的学校,也没有NA
,这个col_factor()
很整洁;col_factor()
参数将facet_wrap()
“数字”翻译成labeller
上真正的“字符串”含义,如tamtam对“在face_wrap() ggplot2中更改facet标签”的建议所建议的那样。 2020 年 10 月 29 日';
labeller
上没有
geom_point()
参数,因此右侧图表的图例显示“4,2,3,1”,而不是这些代码代表的名称。
问题:
<fct>
类型
TP_DEPENDENCIA
列的数字编码值“翻译”为其图表图例上的真实文本含义?
facet_wrap()
上所做的那样进行一些表示更改来实现我在问题 1 中要求的内容,而不更改存储在
.csv
文件中的值?
有问题的图:
生成上图的代码:
ggplot(
data = meu_primeiro_csv,
mapping = aes(y = QT_SALAS_UTILIZADAS, x = QT_MAT_BAS)) +
geom_point(mapping = aes(color = TP_DEPENDENCIA, shape = TP_DEPENDENCIA)) +
facet_wrap(~TP_DEPENDENCIA, labeller = labeller(TP_DEPENDENCIA = c(`1` = "Federal", `2` = "Estadual", `3` = "Municipal", `4` = "Privada"))) +
labs(
title = "Educação básica: total de alunos × total de salas",
subtitle = "Totais por tipo de escola: municipal, estadual, federal, ou privada",
y = "Salas utilizadas pela escola",
x = "Matrículas na educação básica",
color = "Tipo de escola",
shape = "Tipo de escola"
) +
geom_smooth(method = "lm") +
scale_color_colorblind()
case_when
在数据集中创建一个带有
TP_DEPENDENCIA
标签的新变量。使用新变量而不是
TP_DEPENDENCIA
,您将获得图例中的标签。
meu_primeiro_csv %>%
mutate(tipo_de_escola = case_when(TP_DEPENDENCIA == 1 ~ "Federal",
TP_DEPENDENCIA == 2 ~ "Estadual",
TP_DEPENDENCIA == 3 ~ "Municipal"
TP_DEPENDENCIA == 4 ~ "Privada"
)
) %>%
ggplot(
mapping = aes(y = QT_SALAS_UTILIZADAS, x = QT_MAT_BAS)) +
geom_point(mapping = aes(color = tipo_de_escola, shape = tipo_de_escola)) +
facet_wrap(~tipo_de_escola) +
labs(
title = "Educação básica: total de alunos × total de salas",
subtitle = "Totais por tipo de escola: municipal, estadual, federal, ou privada",
y = "Salas utilizadas pela escola",
x = "Matrículas na educação básica",
color = "Tipo de escola",
shape = "Tipo de escola"
) +
geom_smooth(method = "lm") +
scale_color_colorblind()
但是,您应该考虑仅使用 一个
美学而不是三个来显示变量
TP_DEPENDENCIA
。尝试绘制仅使用 TP_DEPENDENCIA
来表示facet_wrap、或颜色、或形状的绘图。您将获得相同数量的信息,并且您的图表将更加简单。选择您认为最有效的一个。