R 我是否可以更改圆形条形图中的条形宽度,而不使ggplot中的条形之间存在间隙?
我有一些调查数据,其中我有一个因素在采访中被提及的次数,以及每次提及的积极、中立或消极因素的百分比。我想在圆形堆叠条形图中显示这一点,图的每个部分显示每个因素的正/中性/负响应的百分比,每个条形/段的宽度表示与每个因素相关的响应数量。我已经能够使用ggplot和coord_polar实现这一点,但我遇到的问题是,圆周围的每个因子都是均匀分布的,在条之间留有间隙。但我想知道是否有可能改变这些因素在圆圈周围的位置,从而形成一个“完整”的饼图,其中有不同大小的线段,但它们之间没有间隙 这就是我到目前为止所做的R 我是否可以更改圆形条形图中的条形宽度,而不使ggplot中的条形之间存在间隙?,r,ggplot2,stacked-area-chart,radial,R,Ggplot2,Stacked Area Chart,Radial,我有一些调查数据,其中我有一个因素在采访中被提及的次数,以及每次提及的积极、中立或消极因素的百分比。我想在圆形堆叠条形图中显示这一点,图的每个部分显示每个因素的正/中性/负响应的百分比,每个条形/段的宽度表示与每个因素相关的响应数量。我已经能够使用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说情节不好,因为径向分割意味着最靠近圆圈外侧的类别面积过大,所以看起来“积极”反应的比例比实际情况高很多。他制作的堆叠条形图在不扭曲相对比例的情况下显示了一些东西。多亏了我理解并欣赏了径向分段的缺陷,我明白了为什么堆叠条形图能更好地表示这些数据(我只是好奇是否有可能改变分段的位置)。但是,是的,我现在将坚持使用条形图,并调整条形图的宽度,以显示它们所代表的响应数量。