如何重塑 R 中的条形图?
How can I reshape the bar graph in R?
我想调整图表的大小:
act_df %>%
ggplot(aes(x = Id, y = hours, fill = hour_type)) +
geom_col(position = "fill") +
coord_flip()
因为它看起来像这样:
Id只是表示一个人,所以它不是数字。我希望条形之间的垂直间隙相同。
整体尺寸应该比这个大。(尤其是横向)
我应该如何更改此图表以使其更具可读性?
使用width =
参数。这是一个例子:
mtcars %>%
ggplot(aes(x = cyl, y = mpg, fill = am)) +
geom_col(position = "fill", width = 0.05) +
coord_flip()
在 geom_col
中更改 width
:
mtcars %>%
ggplot(aes(x = cyl, y = mpg, fill = am)) +
geom_col(position = "fill", width = 1.5) +
coord_flip()
举例说明如何将 Id
列作为某些模拟 ID 的一个因素:
library(tidyverse)
act_df <- tibble(
Id = sample (10000:99999, 20),
a = sample(1:10, 20, replace = TRUE),
b = sample(1:10, 20, replace = TRUE),
c = sample(1:10, 20, replace = TRUE),
d = sample(1:10, 20, replace = TRUE)
) %>%
pivot_longer(-Id, names_to = "hour_type", values_to = "hours")
act_df %>%
mutate(Id = as_factor(Id)) %>%
ggplot(aes(y = Id, x = hours, fill = hour_type)) +
geom_col(position = "fill")
使它成为一个因子,而不是一个整数,告诉 R 'ignore' 每个 ID 之间的距离(即停止将其视为连续变量)并并排标记每个 ID。
为了将来参考 - 在这个问题和你的其他相关问题中 - 使用 dput
提供一些样本数据以确保我们回答正确的问题会很有帮助。模拟数据(正如我上面所做的那样)是一种在不使用 sensitive/restricted 数据的情况下重现问题的方法。
由 reprex package (v2.0.1)
于 2022-04-28 创建
我想调整图表的大小:
act_df %>%
ggplot(aes(x = Id, y = hours, fill = hour_type)) +
geom_col(position = "fill") +
coord_flip()
因为它看起来像这样:
Id只是表示一个人,所以它不是数字。我希望条形之间的垂直间隙相同。
整体尺寸应该比这个大。(尤其是横向)
我应该如何更改此图表以使其更具可读性?
使用width =
参数。这是一个例子:
mtcars %>%
ggplot(aes(x = cyl, y = mpg, fill = am)) +
geom_col(position = "fill", width = 0.05) +
coord_flip()
在 geom_col
中更改 width
:
mtcars %>%
ggplot(aes(x = cyl, y = mpg, fill = am)) +
geom_col(position = "fill", width = 1.5) +
coord_flip()
举例说明如何将 Id
列作为某些模拟 ID 的一个因素:
library(tidyverse)
act_df <- tibble(
Id = sample (10000:99999, 20),
a = sample(1:10, 20, replace = TRUE),
b = sample(1:10, 20, replace = TRUE),
c = sample(1:10, 20, replace = TRUE),
d = sample(1:10, 20, replace = TRUE)
) %>%
pivot_longer(-Id, names_to = "hour_type", values_to = "hours")
act_df %>%
mutate(Id = as_factor(Id)) %>%
ggplot(aes(y = Id, x = hours, fill = hour_type)) +
geom_col(position = "fill")
使它成为一个因子,而不是一个整数,告诉 R 'ignore' 每个 ID 之间的距离(即停止将其视为连续变量)并并排标记每个 ID。
为了将来参考 - 在这个问题和你的其他相关问题中 - 使用 dput
提供一些样本数据以确保我们回答正确的问题会很有帮助。模拟数据(正如我上面所做的那样)是一种在不使用 sensitive/restricted 数据的情况下重现问题的方法。
由 reprex package (v2.0.1)
于 2022-04-28 创建