gpt4 book ai didi

r - 如何使用 ggplot 分组和显示前 X 个类别?

转载 作者:行者123 更新时间:2023-12-01 09:04:40 24 4
gpt4 key购买 nike

我正在尝试使用 ggplot 按公司绘制生产数据,并使用点的颜色来指定年份。以下图表显示了基于样本数据的示例:
enter image description here

然而,很多时候我的真实数据有 50-60 个不同的公司,这使得 Y 轴上的公司名称被紧密地分组而不是非常令人愉快。

仅显示前 5 家公司信息(按 2011 年数量排名)的数据,然后显示其余汇总并显示为“其他”的最简单方法是什么?

下面是一些示例数据和我用来创建示例图表的代码:

# create some sample data
c=c("AAA","BBB","CCC","DDD","EEE","FFF","GGG","HHH","III","JJJ")

q=c(1,2,3,4,5,6,7,8,9,10)
y=c(2010)
df1=data.frame(Company=c, Quantity=q, Year=y)

q=c(3,4,7,8,5,14,7,13,2,1)
y=c(2011)
df2=data.frame(Company=c, Quantity=q, Year=y)

df=rbind(df1, df2)

# create plot
p=ggplot(data=df,aes(Quantity,Company))+
geom_point(aes(color=factor(Year)),size=4)
p

我开始走蛮力方法的道路,但认为可能有一种简单而优雅的方法可以做到这一点,我应该学习。任何帮助将不胜感激。

最佳答案

那这个呢:

    df2011 <- subset (df, Year == 2011)
companies <- df2011$Company [order (df2011$Quantity, decreasing = TRUE)]
ggplot (data = subset (df, Company %in% companies [1 : 5]),
aes (Quantity, Company)) +
geom_point (aes (color = factor (Year)), size = 4)

BTW:为了让代码被称为优雅,多花一些空间,它们不是那么昂贵......

关于r - 如何使用 ggplot 分组和显示前 X 个类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10234952/

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