Meg*_*ole 2 r ggplot2 geom-bar
想知道如何通过减少猕猴桃的数量来对 y 轴上的簇进行排序?
df = data.frame()
df = data.frame(matrix(df, nrow=200, ncol=2))
colnames(df) <- c("cluster", "name")
df$cluster <- sample(20, size = nrow(df), replace = TRUE)
df$fruit <- sample(c("banana", "apple", "orange", "kiwi", "plum"), size = nrow(df), replace = TRUE)
p = ggplot(df, aes(x = as.factor(cluster), fill = as.factor(fruit)))+
geom_bar(stat = 'count') +
theme_classic()+
coord_flip() +
theme(axis.text.y = element_text(size = 20),
axis.title.x = element_text(size = 20),
axis.title.y = element_text(size = 20),
axis.text=element_text(size=20)) +
theme(legend.text = element_text(size = 20)) +
xlab("Cluster")+
ylab("Fruit count") +
labs( fill = "")
p
Run Code Online (Sandbox Code Playgroud)
我可能会在绘图之前将其作为数据操作来执行。注意,我已将 kiwi 移动到堆叠顺序中的第一个位置,这样我们就可以看到当我们向下移动 y 轴时,条形变小。
library(tidyverse)
df %>%
mutate(cluster = factor(cluster,
names(sort(table(fruit == 'kiwi', cluster)[2,]))),
fruit = factor(fruit, c('kiwi', 'apple', 'banana',
'orange', 'plum'))) %>%
ggplot(aes(x = cluster, fill = fruit))+
geom_bar(position = position_stack(reverse = TRUE)) +
theme_classic()+
coord_flip() +
theme(axis.text.y = element_text(size = 20),
axis.title.x = element_text(size = 20),
axis.title.y = element_text(size = 20),
axis.text=element_text(size=20)) +
theme(legend.text = element_text(size = 20)) +
scale_fill_manual(values = c('olivedrab', 'yellowgreen', 'yellow2',
'orange2', 'plum4')) +
xlab("Cluster")+
ylab("Fruit count") +
labs( fill = "")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |