带有长尾的 25000 行计算饼图

带有长尾的 25000 行计算饼图

我有一个包含25,000 行,每行包含一个数字,如下所示:

4000
3000
1500
700
...
2
1
1
1

从此我想做一个饼形图

饼图的前几个部分将清晰可见(最好带有标签),并且长尾巴(最后 90% 的值非常小)将形成一个模糊的区域,一定不能有标签,因为显示那么多标签会占据整个页面。

如何使用 LibreOffice(或 OpenOffice)Calc 创建这样的饼图?

当我使用带有默认选项的普通饼图时,Calc 变得非常慢,然后崩溃(Ubuntu 2018.04)

答案1

楼主的计算机缺乏处理这么多切片的处理能力。在某个较小的数值下,切片将变得难以区分,并且基本上会形成一个实体切片。因此,实际上,处理所有 25,000 个值实际上没有任何意义。您可以通过找到可区分的最小值并将其作为最后一个离散值,然后将所有较小的值聚合成一个残差切片来获得相同的结果。

这可以通过反复试验来实现。使用变量选择最小尺寸,然后绘制它。使变量逐渐变小,直到该尺寸的切片不再可区分。以下是实现此目的的方法:

  1. 选择一个起始截止值并将其粘贴在 E1 中。在本例中,该值为 13。当您看到结果切片的大小时,这将让您知道下一次迭代需要调整多少。

  2. 假设您的数据在列A和中B,按降序排列(如您的示例所示),在中输入以下公式E2

    =B2

  3. 输入以下公式并向E3下填充直到返回空单元格:

    =IF(B2 < $E$1,"",IF(B3 >= $E$1,B3,SUM(B$2:B$25000)-SUM(E$2:E2)))

  4. 输入以下公式并向D2下填充:

    =IF(E2 = "","",IF(B2=E2,A2,"杂项"))

你现在应该得到类似这样的内容:

在此处输入图片描述

然后你将生成如下所示的图表:

在此处输入图片描述

“冲洗并重复”,调整 E1 中的截止值,直到较小的值不会产生任何可见的结果。

相关内容