gpt4 book ai didi

r - 生成堆积条形图

转载 作者:行者123 更新时间:2023-12-01 10:07:08 27 4
gpt4 key购买 nike

我有一个包含 3 列的数据框

我希望用来生成堆叠条形图。所有这些列都包含整数数据。堆叠条形图应具有沿 x 轴的水平和沿 y 轴的每个水平的数据。然后,堆栈应对应于 $x$y$z 中的每一个。

更新:我现在有以下内容:

counted <- data.frame(table(myDf$x),variable='x')
counted <- rbind(counted,data.frame(table(myDf$y),variable='y'))
counted <- rbind(counted,data.frame(table(myDf$z),variable='z'))
counted <- counted[counted$Var1!=0,] # to get rid of 0th level??

stackedBp <- ggplot(counted,aes(x=Var1,y=Freq,fill=variable))
stackedBp <- stackedBp+geom_bar(stat='identity')+scale_x_discrete('Levels')+scale_y_continuous('Frequency')
stackedBp

生成:

stack plot .

还有两个问题:

  1. x 轴标签不正确。出于某种原因,它是:46, 47, 53, 54, 38, 40....我怎么才能自然地排序?

  2. 我还想删除第 0 个标签。

我试过使用 +scale_x_discrete(breaks = 0:50, labels = 1:50) 但这不起作用。

注意。轴标签问题:Dataframe column appears incorrectly sorted

最佳答案

不完全确定你想看到什么......但阅读 ?barplot 说第一个参数,height 必须是向量或矩阵。因此,要修复您的初始错误:

myDf <- data.frame(x=sample(1:10,100,replace=T),y=sample(11:20,100,replace=T),z=1:10)
barplot(as.matrix(myDf))

如果您提供可重现的示例和对所需输出的更具体描述,您可以获得更好的答案。

或者如果我疯狂猜测(并使用 ggplot)...

myDf <- data.frame(x=sample(1:10,100,replace=T),y=sample(11:20,100,replace=T),z=1:10)
myDf.counted<- data.frame(table(myDf$x),variable='x')
myDf.counted <- rbind(myDf.counted,data.frame(table(myDf$y),variable='y'))
myDf.counted <- rbind(myDf.counted,data.frame(table(myDf$z),variable='z'))

ggplot(myDf.counted,aes(x=Var1,y=Freq,fill=variable))+geom_bar(stat='identity')

关于r - 生成堆积条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263542/

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