R 我是否可以更改圆形条形图中的条形宽度,而不使ggplot中的条形之间存在间隙?

R 我是否可以更改圆形条形图中的条形宽度,而不使ggplot中的条形之间存在间隙?,r,ggplot2,stacked-area-chart,radial,R,Ggplot2,Stacked Area Chart,Radial,我有一些调查数据,其中我有一个因素在采访中被提及的次数,以及每次提及的积极、中立或消极因素的百分比。我想在圆形堆叠条形图中显示这一点,图的每个部分显示每个因素的正/中性/负响应的百分比,每个条形/段的宽度表示与每个因素相关的响应数量。我已经能够使用ggplot和coord_polar实现这一点,但我遇到的问题是,圆周围的每个因子都是均匀分布的,在条之间留有间隙。但我想知道是否有可能改变这些因素在圆圈周围的位置,从而形成一个“完整”的饼图,其中有不同大小的线段,但它们之间没有间隙 这就是我到目前为

我有一些调查数据,其中我有一个因素在采访中被提及的次数,以及每次提及的积极、中立或消极因素的百分比。我想在圆形堆叠条形图中显示这一点,图的每个部分显示每个因素的正/中性/负响应的百分比,每个条形/段的宽度表示与每个因素相关的响应数量。我已经能够使用ggplot和coord_polar实现这一点,但我遇到的问题是,圆周围的每个因子都是均匀分布的,在条之间留有间隙。但我想知道是否有可能改变这些因素在圆圈周围的位置,从而形成一个“完整”的饼图,其中有不同大小的线段,但它们之间没有间隙

这就是我到目前为止所做的

data <- data.frame(Factor = c("One", "Two", "Three", "Four", "Five", "Six"),  
                   responses = c(23,16,8,16,17,20), 
                   positive = c(65.2,56.3,25,68.8,76.4,50),
                   neutral =c(30.4,12.5,25,12.5,17.6,20),
                   negative=c(4.3,31.3,50,18.8,5.9,30))

data2 <-melt(data, id=c("Factor","responses"))

data2$Factor <- factor(data2$Factor, levels = c("One", "Two", "Three", 
                                                "Four", "Five","Six"))


ggplot(data2) +
  geom_bar(aes(Factor, value, fill=variable, width=responses/25), stat="identity", alpha=0.5) +
  coord_polar() 

数据使用
宽度
。您正在
aes()
中设置它,并忽略它未使用的警告

库(“重塑2”)
图书馆(“ggplot2”)

数据从分段饼图移开,我用了这个例子 创建一个堆叠条形图,其中列的宽度表示每个因素的总提及次数


此图在不扭曲成圆形的情况下,信息量会更大。我至少对简单的饼图没什么意见,但是径向分割也是一团糟。第一个图的唯一问题是,虽然所有的圆都满了,但每个线段的大小都一样,但是我想知道你是否可以改变因子在绘图上的显示方式,使它们的间隔不均匀,并且每个片段的大小根据记录的响应数量而变化。但正如你所说,它可能更简单,就像一个带有不同宽度条的条形图,我可以制作出来。谢谢。
ggplot(data2)+geom_bar(aes(Factor,value,fill=variable,width=responses/25),stat=“identity”,alpha=0.5)
作为一个径向分段的piechart,这基本上是一个糟糕的图。为了澄清,@Alanocalaghan说情节不好,因为径向分割意味着最靠近圆圈外侧的类别面积过大,所以看起来“积极”反应的比例比实际情况高很多。他制作的堆叠条形图在不扭曲相对比例的情况下显示了一些东西。多亏了我理解并欣赏了径向分段的缺陷,我明白了为什么堆叠条形图能更好地表示这些数据(我只是好奇是否有可能改变分段的位置)。但是,是的,我现在将坚持使用条形图,并调整条形图的宽度,以显示它们所代表的响应数量。