gpt4 book ai didi

r - 将 ggplot 堆积条形图转换为饼图或替代图

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

我无法决定如何绘制我拥有的数据的图表。它由代表人口的重叠数量组成,因此我决定使用堆积条。

这些代表六个人口划分(“组”),其中第 1 组和第 2 组是主要划分。第 4 组到第 6 组是两个子组,它们是彼此的子组。其简图如下:

注意:第 1 组和第 2 组完成了整个总体或第 1 组 + 第 2 组 = 100%。

enter image description here

我想把所有这些信息都放在一张图表中,但我不知道要实现什么以及如何实现。

到目前为止,我有下面的那个,这是错误的,因为第 1 组包含在主栏中。

require(ggplot2)
require(reshape)

tab <- data.frame(
set=c("XXX","XXX","XXX","XXX","XXX","XXX"),
group=c("1","6","5","4","3","2"),
rate=as.numeric(c(10000,20000,50000,55000,75000,100000))
)

dat <- melt(tab)
dat$time <- factor(dat$group,levels=dat$group)

ggplot(dat,aes(x=set)) +
geom_bar(aes(weight=value,fill=group),position="fill",color="#7F7F7F") +
scale_fill_brewer("Groups", palette="OrRd")

enter image description here

你们有什么建议来可视化它?我想使用 R 和 ggplot 来与我已经制作的其他图表保持一致和统一。

最佳答案

使用构面你可以把你的情节分成两部分:

# changed value of set for group 1
tab <- data.frame(
set=c("UUU","XXX","XXX","XXX","XXX","XXX"),
group=c("1","6","5","4","3","2"),
rate=as.numeric(c(10000,20000,50000,55000,75000,100000))
)

# explicitly defined id.vars
dat <- melt(tab, id.vars=c('set','group'))
dat$time <- factor(dat$group,levels=dat$group)

# added facet_wrap, in geom_bar aes changed weight to y,
# added stat="identity", changed position="stack"
ggplot(dat,aes(x=set)) +
geom_bar(aes(y=value,fill=group),position="stack", stat="identity", color="#7F7F7F") +
scale_fill_brewer("Groups", palette="OrRd") +
facet_wrap(~set, scale="free_x")

visual with facet and changes

关于r - 将 ggplot 堆积条形图转换为饼图或替代图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22113230/

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