我有一些调查数据,其中我有一个因素在采访中被提及的次数,然后是这些提及中的每一个的百分比是积极的、中性的还是消极的。我想在圆形堆叠条形图中显示它,图中的每个部分都显示每个因素的响应百分比是正面/中性/负面,每个条形/片段的宽度表示与每个因素相关的响应数量因素。我已经能够使用 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()
哪个产生了这个;
但是我想要更接近这个的东西,就填充圆圈的线段的宽度而言,然后让每个线段都像上面那样堆叠;
任何帮助将不胜感激!谢谢