从列表中创建R中的几个饼图

时间:2017-09-18 19:05:12

标签: r plot pie-chart

我想一次创建几个饼图,我有一个名单列表:

 [1]   361   456   745   858  1294  1297  2360  2872  3034  5118  5189...

因此第一个饼图应标记为“361”,依此类推。

然后我有几个列表,其中包含每个饼图的值

[1] 102  99 107  30   2   8  24  16  57 117 ...
[1] 1 1 2 1 0 0 0 1 1 2 ...
[1] 4 2 2 1 3 0 0 1 1 2 ...

因此对于'361',第一个元素是102,第二个是1,第三个是4.总数是107。

我想一次完成所有图表。

1 个答案:

答案 0 :(得分:1)

获得此功能的一种方法是设置par("mfrow")。我还调整了边距,以消除图表周围的一些不需要的空白。

par(mfrow=c(2,5), mar=rep(0, 4), oma=rep(0,4))
for(i in 1:length(names)) {
    pie(df[i, ][df[i,] > 0], labels=(1:3)[df[i,] > 0])
    title(names[i], line = -3) }

Multiple pie charts

数据

## data
names = c(361, 456, 745, 858, 1294, 1297, 2360, 2872, 3034, 5118, 5189)
x = c(102,  99, 107,  30,   2,   8,  24,  16,  57, 117)
y = c(1, 1, 2, 1, 0, 0, 0, 1, 1, 2)
z = c(4, 2, 2, 1, 3, 0, 0, 1, 1, 2)
df = data.frame(x,y,z)