4

这是基本地块,月份从下到上从一到十二排列。我想从上到下从一到十二订购。

library(tidyverse)
library(nycflights13)
library(ggridges)
ggplot(weather %>% filter(temp > 50), aes(x = temp, y = as.factor(month))) + 
  geom_density_ridges()

捕获.png

这两种解决方案都会产生错误。什么是正确的解决方案?

# BROKEN SOLUTION 1    
ggplot(weather %>% filter(temp > 50), aes(x = temp, y = as.factor(month))) + 
  geom_density_ridges() + 
  scale_y_continuous(trans = "reverse")

错误:提供给连续刻度的离散值。另外:警告消息:1:在 Ops.factor(x) 中:'-' 对因子没有意义。2:变换在连续 y 轴上引入了无限值。

并且

# BROKEN SOLUTION 2
ggplot(weather %>% filter(temp > 50), aes(x = temp, y = as.factor(month))) + 
  geom_density_ridges() + 
  scale_y_discrete(limits = rev(levels(as.factor(month))))

is.factor(x) 中的错误:找不到对象“月”

4

1 回答 1

9

尝试scale_y_discrete(limits = rev)

于 2018-06-15T14:54:25.473 回答