【发布时间】:2023-03-27 15:23:01
【问题描述】:
我对在 R 中制作漂亮的图有点陌生。现在我想制作堆积条形图。以下是堆积条形图的代码:
longer_data = structure(list(question =
c("HMI1_Speed_and_distance_control",
"HMI2_Supercruise_Speed_and_distance_control",
"HMI3_Speed_and_distance_control", "HMI4_Speed_and_distance_control",
"HMI5_Speed_and_distance_control", "HMI6_Speed_and_distance_control",
"HMI1_Speed_and_distance_control",
"HMI2_Supercruise_Speed_and_distance_control",
"HMI3_Speed_and_distance_control",
"HMI4_Speed_and_distance_control"), response = c(3L, 3L, 1L, 1L, 2L,
1L, 2L, 3L, 1L, 3L)), row.names = c(NA, -10L), class = c("tbl_df",
"tbl", "data.frame"))
longer_data %>%
ggplot(aes(x = response)) +
geom_bar()+
facet_wrap(vars(question), ncol = 3) +
labs(x = "Response (on a 1 to 5 scale)", y = "Number of respondents")
我希望每个图形的三个横条彼此叠放,而不是彼此相邻。 我该怎么做?
谢谢!
【问题讨论】:
-
这很令人困惑,因为
geom_bar中的position = "stack"是默认值。你能分享一些可重复的数据吗?旋转数据后调用您的数据pivoted_data并给我们dput(pivoted_data[1:10, ])以获取前 10 行数据的复制/可粘贴版本,包括所有类和结构信息。 (或选择不同的说明性子集)。 -
谢谢!但是,我这样做了,没有任何改变!还有其他想法吗?
-
调用:dput(longer_data[1:10, ]) 结构(list(question = c("HMI1_Speed_and_distance_control", "HMI2_Supercruise_Speed_and_distance_control", "HMI3_Speed_and_distance_control", "HMI4_Speed_and_distance_control", "HMI5_Speed_and_distance_control", "HMI6_Speed_and_distance_control ", "HMI1_Speed_and_distance_control", "HMI2_Supercruise_Speed_and_distance_control", "HMI3_Speed_and_distance_control", "HMI4_Speed_and_distance_control"), 响应 = c(3L, 3L, 1L, 1L, 2L, 1L, 2L, 3L, 1L, 3L)), row.names = c (NA, -10L), class= c("tbl_df", "tbl", "data.frame"))
-
我听从了你的建议。这是你的意思吗?
-
那很好,我把它放在你的问题中并格式化了文本。现在,为了你的目标——我在每个响应的每个方面都看到一个条,因为你有
x = response。你说你想要堆叠条形 - 你想使用填充颜色来区分不同的响应值,还是类似的东西?