【发布时间】:2015-11-08 13:47:23
【问题描述】:
假设我有这个简单的数据:
mydata <- data.frame(group=c("A", "B", "0", "AB"), FR=c(20, 32, 32, 16))
如果我想从这个数据框创建一个饼图,我可以这样做:
with(mydata,pie(FR, labels=paste0(as.character(group), " ", FR, "%"), radius=1))
这很简单但可以接受。
我怎样才能得到与 ggplot2 或 lattice 类似的东西?
经过多次尝试和错误,我得到了
ggplot(mydata, aes(x = factor(1), y=FR,fill=factor(group)) ) + geom_bar(width = 1,stat="identity")+coord_polar(theta = "y")
它更加复杂和丑陋。不是应该很容易吗? ggplot 书籍仅提供一些示例,不鼓励使用饼图。
格子更糟糕,你需要很多很多行才能让它吓到。
谁能帮我弄一个漂亮而简单的饼图,好吗? 例如...
没有20行代码就能轻松搞定的R包吗?
【问题讨论】:
-
rawrs 代码使用基础 R 生成了一个可爱的情节:stackoverflow.com/questions/26748069/… - 可能会给出一些提示(但很可能您需要 > 20 行)
-
ggplot 派怎么“丑”?如果您告诉我们缺少/需要更改的内容,我们会更容易为您提供帮助。
-
@skan,请请查看大量免费信息,这些信息将帮助您了解为什么底部两个饼图您认为“漂亮”和(我猜)很好地沟通数据实际上是非常可怕的,并且在确保您想要的结果方面非常无效。我很欣赏 Steven 包含一个华夫饼图和一个干净执行的条形图,这对于您初始饼图中的数据也非常有用。
-
R 中的大多数可视化库没有对饼图的内置支持是有充分理由的。因为饼图可能是可视化分类数据(或与此相关的任何数据)的最糟糕的方式。一个简单的谷歌搜索应该会提出很多反对饼图的论据。
标签: r ggplot2 pie-chart lattice