我想使用
但这将产生:
编辑:将
有什么建议可以产生两个完整的水平饼图吗?
以下是数据:
ggplot2
制作两个并排的饼图,但是我难以使两个饼图都成为“完整”的。以下是我的数据示例。> test
New York Berlin group
1 474 755 Never Visited
2 214 123 Visited Once
3 66 122 Visited > 1
4 142 64 Resided
当我尝试使用以下代码:
pie <- ggplot(data = melted2, aes(x = "", y = Cnt, fill = Type )) +
geom_bar(stat = "identity") +
geom_text(aes(label = Cnt), position = position_stack(vjust = 0.5)) +
coord_polar(theta = "y") +
facet_grid(facets=. ~ City) +
theme(
axis.title.x = element_blank(),
axis.title.y = element_blank()) + theme(legend.position='bottom') + guides(fill=guide_legend(nrow=2,byrow=TRUE))
pie
但这将产生:
![此处输入图片描述](https://istack.dev59.com/y8eHe.webp)
facet_grid(facets=. ~ City)
更改为facet_grid(City ~ ., scales = "free")
可以工作,但它会产生像这样的垂直堆叠图表:![此处输入图片描述](https://istack.dev59.com/IuYWt.webp)
以下是数据:
> dput(melted2)
structure(list(Type = structure(c(1L, 4L, 3L, 2L, 1L, 4L, 3L,
2L), .Label = c("Never Visited", "Resided", "Visited > 1", "Visited Once"
), class = "factor"), City = structure(c(1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L), .Label = c("New York", "Berlin"), class = "factor"),
Cnt = c(474L, 214L, 66L, 142L, 755L, 123L, 122L, 64L)), row.names = c(NA,
-8L), .Names = c("Type", "City", "Cnt"), class = "data.frame")
position_fill
而不是position_stack
,如此所示 here? - aosmithposition_stack
将标签放置在正确的位置,但这样做不起作用。 - iskandarblueposition_fill
可以将文本放在恰当的位置。 - aosmith