这里有个R新手,请原谅我,如果这最终成为令人尴尬的简单修复。我正在寻找一种获取条形图以显示ggplot2中类别值计数的方法。
我整理了一些虚构的样本数据:
ID Age SizeOfTumor RemovalSurgery
1 <30 Small No
2 <30 Large Yes
3 <30 Large No
4 <30 Small No
5 <30 Small No
6 <30 Large Yes
7 30-60 Large No
8 30-60 Large Yes
9 30-60 Large Yes
10 30-60 Small Yes
11 30-60 Small Yes
12 30-60 Small No
13 30-60 Large No
14 30-60 Small No
15 >60 Large Yes
16 >60 Large Yes
17 >60 Large Yes
18 >60 Small Yes
19 >60 Small No
20 >60 Large Yes
Run Code Online (Sandbox Code Playgroud)
并使用以下代码进行绘制:
library(ggplot2)
ggplot(df, aes(x = SizeOfTumor, fill = RemovalSurgery)) + geom_bar(position = "fill") + facet_grid(~Age)
Run Code Online (Sandbox Code Playgroud)
哪个出 了漂亮的标准条形图
我想做的是能够将每个分类变量的数字添加到图表中,同时保留百分比比例。
任何意见,将不胜感激。我宁愿不必进入photoshop并手动键入所有标签。
在这种情况下,我建议您自己做总结,而ggplot不要让它为您做。
library(ggplot2)
library(scales)
library(dplyr)
plot_data <- df %>%
count(SizeOfTumor, Age, RemovalSurgery) %>%
group_by(Age, SizeOfTumor) %>%
mutate(percent = n/sum(n))
ggplot(plot_data, aes(x = SizeOfTumor, y = percent, fill = RemovalSurgery)) +
geom_col(position = "fill") +
geom_label(aes(label = percent(percent)), position = "fill", color = "white", vjust = 1, show.legend = FALSE) +
scale_y_continuous(labels = percent) +
facet_grid(~Age)
Run Code Online (Sandbox Code Playgroud)
我还添加了Y_AXIS的一些格式和文本geom_label与percent从scales包。
| 归档时间: |
|
| 查看次数: |
3865 次 |
| 最近记录: |