gpt4 book ai didi

r - ggplot2:结合定位命令 position_nudge 和 position_stack

转载 作者:行者123 更新时间:2023-12-03 23:52:18 24 4
gpt4 key购买 nike

我想生成一个带有堆叠条形图并向右移动 50%,以便刻度线位于条形之间。

library(tidyverse)

df <- tribble(~Station, ~Direction1, ~Direction2,
"A", 432, 485,
"V", 543, 345,
"B", 435, 457,
"Q", 0, 0)

df$Station <- factor(df$Station, levels=unique(df$Station))

df = gather(df, Direction1, Direction2, key = "Direction", value = "Passengers")

第一个图显示了所需的堆叠条:
ggplot(data = df, aes(x = Station, y = Passengers, fill = Direction)) + 
geom_bar(stat = "identity", position = position_stack())

第二个图将条形移动到刻度之间的中间,但现在条形绘制在彼此后面:
ggplot(data = df, aes(x = Station, y = Passengers, fill = Direction)) + 
geom_bar(stat = "identity", position = position_nudge(x = 0.5))

如何组合 2 个定位命令?

最佳答案

以下内容应符合您的目的。如果需要,您不必指定位置 position_stack() ,因为它是 geom_bar 中的默认位置参数/geom_col .

(顺便说一句,您可能需要考虑从 geom_bar 切换到 geom_col ,因为后者默认使用 stat = "identity" 。少打字。)

ggplot(data = df, 
aes(x = as.numeric(Station) + 0.5, y = Passengers, fill = Direction)) +
geom_col() +
scale_x_continuous(name = "Station",
limits = range(as.numeric(df$Station)),
breaks = unique(sort(as.numeric(df$Station))),
labels = levels(df$Station))

plot

关于r - ggplot2:结合定位命令 position_nudge 和 position_stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55730693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com