在 rstudio 中重新排序箱线图
Reorder boxplot in rstudio
我正在尝试根据中位数对箱线图重新排序。
mymonths <- c("Jan","Feb","Mar",
"Apr","Mei","Jun",
"Jul","Aug","Sep",
"Okt","Nov","Dec")
df1 <- nycflights13::flights %>%
filter(dep_delay > 10) %>%
select(month, arr_delay) %>%
filter(arr_delay < 480) %>%
mutate(Maand = mymonths[month])
ggplot(data = df1, mapping = aes(x = arr_delay, y = Maand)) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst", caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")
现在我想我可以使用函数 reorder() 或 fct_reorder(),
我会在 x 的 aes() 中填写类似 fct_reorder(Maand, arr_delay, fun = median)
的内容。
(尝试切换“Maand”和“arr_delay”,但它也不起作用)
没有重新排序的箱线图看起来很完美,但是一旦我使用重新排序,它就会给我一些非常奇怪的东西。
任何帮助都会很棒!
尝试:
library(ggplot2)
ggplot(data = df1, mapping = aes(x = arr_delay,
y = forcats::fct_reorder(Maand, arr_delay))) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst",
caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")
如果您想要相反顺序的条形图,请使用 y = forcats::fct_reorder(Maand, -arr_delay)
。
我试过了fct_reorder(Maand, arr_delay, .fun = median)
,看起来不错。
ggplot(data = df1, mapping = aes(x = arr_delay, y = fct_reorder(Maand, arr_delay, .fun = median))) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst", caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")
我正在尝试根据中位数对箱线图重新排序。
mymonths <- c("Jan","Feb","Mar",
"Apr","Mei","Jun",
"Jul","Aug","Sep",
"Okt","Nov","Dec")
df1 <- nycflights13::flights %>%
filter(dep_delay > 10) %>%
select(month, arr_delay) %>%
filter(arr_delay < 480) %>%
mutate(Maand = mymonths[month])
ggplot(data = df1, mapping = aes(x = arr_delay, y = Maand)) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst", caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")
现在我想我可以使用函数 reorder() 或 fct_reorder(),
我会在 x 的 aes() 中填写类似 fct_reorder(Maand, arr_delay, fun = median)
的内容。
(尝试切换“Maand”和“arr_delay”,但它也不起作用)
没有重新排序的箱线图看起来很完美,但是一旦我使用重新排序,它就会给我一些非常奇怪的东西。
任何帮助都会很棒!
尝试:
library(ggplot2)
ggplot(data = df1, mapping = aes(x = arr_delay,
y = forcats::fct_reorder(Maand, arr_delay))) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst",
caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")
如果您想要相反顺序的条形图,请使用 y = forcats::fct_reorder(Maand, -arr_delay)
。
我试过了fct_reorder(Maand, arr_delay, .fun = median)
,看起来不错。
ggplot(data = df1, mapping = aes(x = arr_delay, y = fct_reorder(Maand, arr_delay, .fun = median))) +
geom_boxplot(outlier.colour = 'red', outlier.alpha = 0.1) +
labs(x = "Vertraging bij aankomst", caption = "Vluchten die uit New York vertrekken") +
ggtitle("Vertraging van vluchten per maand (in min)")