以下是我的要求的两个可复制的最小示例。
x
是一个因子变量,我发现函数geom_area
不起作用,其工作方式类似于geom_segment
的输出。x
变量从factor转换为interger,函数geom_area
可以使用,但是我发现axis.text.y
标签不是我想要的。有人知道要解决吗?
suppressMessages(library(tidyverse))
mtcars %>%
rownames_to_column('index1') %>%
mutate(index1 = index1 %>% as.factor) %>%
mutate(index2 = index1 %>% as.integer) -> df
df %>%
ggplot() +
geom_area(aes(x = index1, y = mpg), color = 'black', fill = 'black') +
coord_flip()
df %>%
ggplot() +
geom_area(aes(x = index2, y = mpg), color = 'black', fill = 'black') +
coord_flip()
答案 0 :(得分:1)
检查此解决方案:
library(tidyverse)
library(wrapr)
df %.>%
ggplot(data = .) +
geom_area(aes(x = index2, y = mpg), color = 'black', fill = 'black') +
coord_flip() +
scale_x_continuous(
breaks = .$index2,
labels = .$index1
)