ggplot:如何将标签更改为图表上的百分比?
ggplot: How to change labels to percentages on the graph?
这是我的数据集的头部:
structure(list(Aasta = c(2011, 2012, 2013, 2014, 2015, 2016),
tvs = c("Püsiv töövõimetus", "Püsiv töövõimetus",
"Püsiv töövõimetus", "Püsiv töövõimetus", "Püsiv töövõimetus",
"Püsiv töövõimetus"), Protsent = c(0.001, 0.018, 0.014,
0.012, 0.013, 0.017)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
这是我的剧情:
ggplot(merilen2, aes(y = Protsent, x = Aasta, color = tvs, label = Protsent))+
geom_line()+
geom_point()+
ggrepel::geom_label_repel(label.size = 0,
label.padding = unit(0.3, "lines"),
size = 3,
min.segment.length = 0.2,
vjust=-0.5,
show.legend = F)+
scale_x_continuous(breaks = merilen2$Aasta, labels = merilen2$Aasta)+
scale_color_manual(values = cen_cols)+
labs(x = 'Aasta',
y = 'Protsent',
color = 'Töövõime staatus')+
cen_theme()
这是现在的结果:
我需要图表上的标签作为百分比(小数点后一位),但不知道该由谁来做。
您可以将aes
中的label
改为-
label = paste0(round(Protsent * 100, 1), '%')
完整代码-
library(ggplot2)
ggplot(merilen2, aes(y = Protsent, x = Aasta, color = tvs,
label = paste0(round(Protsent * 100, 1), '%')))+
geom_line()+
geom_point()+
ggrepel::geom_label_repel(label.size = 0,
label.padding = unit(0.3, "lines"),
size = 3,
min.segment.length = 0.2,
vjust=-0.5,
show.legend = F)+
scale_x_continuous(breaks = merilen2$Aasta, labels = merilen2$Aasta)+
labs(x = 'Aasta',
y = 'Protsent',
color = 'Töövõime staatus')
已删除 scale_color_manual
,因为 cen_cols
未定义。
只需添加
scale_y_continuous(label=scales::label_percent(.1)) +
这是我的数据集的头部:
structure(list(Aasta = c(2011, 2012, 2013, 2014, 2015, 2016),
tvs = c("Püsiv töövõimetus", "Püsiv töövõimetus",
"Püsiv töövõimetus", "Püsiv töövõimetus", "Püsiv töövõimetus",
"Püsiv töövõimetus"), Protsent = c(0.001, 0.018, 0.014,
0.012, 0.013, 0.017)), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
这是我的剧情:
ggplot(merilen2, aes(y = Protsent, x = Aasta, color = tvs, label = Protsent))+
geom_line()+
geom_point()+
ggrepel::geom_label_repel(label.size = 0,
label.padding = unit(0.3, "lines"),
size = 3,
min.segment.length = 0.2,
vjust=-0.5,
show.legend = F)+
scale_x_continuous(breaks = merilen2$Aasta, labels = merilen2$Aasta)+
scale_color_manual(values = cen_cols)+
labs(x = 'Aasta',
y = 'Protsent',
color = 'Töövõime staatus')+
cen_theme()
这是现在的结果:
我需要图表上的标签作为百分比(小数点后一位),但不知道该由谁来做。
您可以将aes
中的label
改为-
label = paste0(round(Protsent * 100, 1), '%')
完整代码-
library(ggplot2)
ggplot(merilen2, aes(y = Protsent, x = Aasta, color = tvs,
label = paste0(round(Protsent * 100, 1), '%')))+
geom_line()+
geom_point()+
ggrepel::geom_label_repel(label.size = 0,
label.padding = unit(0.3, "lines"),
size = 3,
min.segment.length = 0.2,
vjust=-0.5,
show.legend = F)+
scale_x_continuous(breaks = merilen2$Aasta, labels = merilen2$Aasta)+
labs(x = 'Aasta',
y = 'Protsent',
color = 'Töövõime staatus')
已删除 scale_color_manual
,因为 cen_cols
未定义。
只需添加
scale_y_continuous(label=scales::label_percent(.1)) +