我正在嘗試在 R 中繪制條形圖,一周中的幾天是 x 軸,我希望它們成為每個條形的標簽,但在資料集中,它們從星期日開始標記為 1 到 7,所以我做了下列的:
week_day2$day_of_week <- recode(week_day2$day_of_week,
"1"="Sunday",
"2"="Monday",
"3"="Tuesday",
"4"="Wednesday",
"5"="Thursday",
"6"="Friday",
"7"="Saturday")
但是后來我無法按順序制作條形圖,所以我使用了 forcats 庫
library(tidyverse)
library(forcats)
Graph_major_days <- week_day2 %>%
mutate(name = fct_relevel(day_of_week,
"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday",
"Saturday")) %>%
ggplot( aes(x=name, y=n))
geom_bar(stat="identity")
我想知道是否有一種更容易/可讀的方式來做這種事情
uj5u.com熱心網友回復:
如果我理解正確,您應該將數字保留在資料集中,而只需將繪圖的標簽更改為作業日。這是一個完整的例子:
library(ggplot2)
set.seed(0)
df <- data.frame(day_of_week = sample(1:7, 7), n = rnorm(7))
days = c("Sun", "Mon", "Tue", "Thu", "Wed", "Fri", "Sat")
ggplot(df, aes(x = day_of_week, y = n))
geom_bar(stat="identity")
scale_x_continuous(breaks = 1:7, labels = days)
如您所見,即使日期在資料集中沒有排序,它們在圖中也顯示為有序。如果需要,您還可以將一周中的幾天添加到資料集中,只是不要洗掉數值。

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/366454.html
下一篇:有沒有辦法繪制回歸資料?
