【发布时间】:2017-12-02 22:43:15
【问题描述】:
我有一个包含以下数据的数据框:
> data_graph
# A tibble: 12 x 4
# Groups: ATTPRO, ATTMAR [?]
x y group nb
<dbl> <dbl> <chr> <int>
1 0 0 1 1060
2 0 0 2 361
3 0 0 3 267
4 0 1 1 788
5 0 1 2 215
6 0 1 3 80
7 1 0 1 485
8 1 0 2 168
9 1 0 3 101
10 1 1 1 6306
11 1 1 2 1501
12 1 1 3 379
我的目标是得到以下图表:
- x 和 y 都是定性变量,作为 X/Y 轴放置
- nb,定量变量,代表饼图大小
- 组,定性变量,代表饼图部分
使用 ggplot2 包的最佳结果只是给我气泡,这个代码。我找不到将馅饼放入其中的解决方案:
library(ggplot2)
ggplot(data_graph, aes(y = factor(y),x = factor(x))) +
geom_point(aes(colour = group, size = nb)) +
theme_bw() +
cale_size(range = c(1, 20)) +
labs(x = "x", y = "y", color = "group", size = "nb")
使用 scatterpie 包并没有太大帮助。这次馅饼画得很好,但我找不到使用 nb 来定义馅饼大小的方法。此外,x 和 y 被视为定量变量(我尝试 factor() 没有任何机会)而不是定性变量。结果非常丑陋,没有完整的图例。
> tmp
x y A B C
1 0 0 1060 361 267
2 0 1 788 215 80
3 1 0 485 168 101
4 1 1 6306 1501 379
library(scatterpie)
ggplot() +
geom_scatterpie(aes(x = x, y = y), data = tmp, cols = c("A", "B", "C")) +
coord_fixed()
如何更改此代码以使第一个图表与第二个饼图有关系?
【问题讨论】:
-
如果您想增加获得答案的概率,请使用较少的图像,尤其是添加使用过的数据样本作为问题的一部分。
-
@Heikki 感谢您的提示。我修复了数据框代码。
-
一般情况下,我们希望将数据粘贴为
dput()的输出,因此我们可以将其复制到我们的代码中并直接重新创建数据框。
标签: r ggplot2 pie-chart ggforce scatterpie