gpt4 book ai didi

r - ggplot2 中的水平条形图

转载 作者:行者123 更新时间:2023-12-03 06:04:11 26 4
gpt4 key购买 nike

我正在 ggplot2 中制作水平点图(?),这让我考虑尝试创建水平条形图。但是,我发现这样做有一些限制。

这是我的数据:

df <- data.frame(Seller=c("Ad","Rt","Ra","Mo","Ao","Do"), 
Avg_Cost=c(5.30,3.72,2.91,2.64,1.17,1.10), Num=c(6:1))
df
str(df)

最初,我使用以下代码生成了点图:

require(ggplot2)
ggplot(df, aes(x=Avg_Cost, y=reorder(Seller,Num))) +
geom_point(colour="black",fill="lightgreen") +
opts(title="Avg Cost") +
ylab("Region") + xlab("") + ylab("") + xlim(c(0,7)) +
opts(plot.title = theme_text(face = "bold", size=15)) +
opts(axis.text.y = theme_text(family = "sans", face = "bold", size = 12)) +
opts(axis.text.x = theme_text(family = "sans", face = "bold", size = 12))

但是,我现在尝试创建水平条形图,但发现我无法这样做。我尝试过 coord_flip() ,但也没有帮助。

ggplot(df, aes(x=Avg_Cost, y=reorder(Seller,Num))) + 
geom_bar(colour="black",fill="lightgreen") +
opts(title="Avg Cost") +
ylab("Region") + xlab("") + ylab("") + xlim(c(0,7)) +
opts(plot.title = theme_text(face = "bold", size=15)) +
opts(axis.text.y = theme_text(family = "sans", face = "bold", size = 12)) +
opts(axis.text.x = theme_text(family = "sans", face = "bold", size = 12))

任何人都可以提供有关如何在 ggplot2 中生成水平条形图的帮助吗?

最佳答案

ggplot(df, aes(x=reorder(Seller, Num), y=Avg_Cost)) +
geom_bar(stat='identity') +
coord_flip()

如果没有stat='identity',ggplot 想要将数据聚合为计数。

关于r - ggplot2 中的水平条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10941225/

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