gpt4 book ai didi

r - 将 x 标签放在条形图的顶部并使其朝向 x 轴对齐

转载 作者:行者123 更新时间:2023-12-01 11:17:43 26 4
gpt4 key购买 nike

我试图将 x 标签放置在 geom_bar 上,以便它们是垂直的,位于条的顶部,并与条的底部对齐。我得到了前两个,但没有得到最后一个。

data(mpg)
mpg <- mpg

这按照我想要的方式对齐文本(左/下对齐)

ggplot(mpg, aes(x=interaction(manufacturer, year), y=hwy, fill=manufacturer)) +
geom_bar(stat="identity", width = 1, color="black") +
theme(axis.text.x = element_text(angle = 90, size = 5, hjust=0, vjust=-.05))

hjust=0

这会将文本放在更高的位置,以便它覆盖条形图,但它并没有按照我想要的方式对齐,每个标签都从 x 轴开始。

ggplot(mpg, aes(x=interaction(manufacturer, year), y=hwy, fill=manufacturer)) +
geom_bar(stat="identity", width = 1, color="black") +
theme(axis.text.x = element_text(angle = 90, size = 5, hjust=3, vjust=-.05))

hjust=3

我也玩过 margin=margin(#,#,#,#),我看不出有什么影响。我还可以尝试什么?

最佳答案

您可以使用 geom_textstat = "summary" 添加标签,并使用 scale_y_continuous 调整 y 轴的大小:

library(ggplot2)

ggplot(mpg, aes(interaction(manufacturer, year), hwy,
fill = manufacturer, label = interaction(manufacturer, year))) +
geom_col(width = 1, color = "black") +
geom_text(stat = 'summary', fun.y = sum, angle = 90, hjust = -.05, size = 2) +
scale_y_continuous(limits = c(0, 575), expand = c(0, 0)) +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank())

plot with labels

或者如果你想要每个栏底部的文本,只需将 y 设置为 0:

ggplot(mpg, aes(interaction(manufacturer, year), hwy, fill = manufacturer, label = interaction(manufacturer, year))) +
geom_col(width = 1, color = "black") +
geom_text(aes(y = 0), angle = 90, hjust = -.05, size = 2) +
scale_y_continuous(limits = c(0, 500), expand = c(0, 0)) +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank())

plot with labels at bottom

关于r - 将 x 标签放在条形图的顶部并使其朝向 x 轴对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48482271/

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