我有一个包含25,000 行,每行包含一个数字,如下所示:
4000
3000
1500
700
...
2
1
1
1
从此我想做一个饼形图。
饼图的前几个部分将清晰可见(最好带有标签),并且长尾巴(最后 90% 的值非常小)将形成一个模糊的区域,一定不能有标签,因为显示那么多标签会占据整个页面。
如何使用 LibreOffice(或 OpenOffice)Calc 创建这样的饼图?
当我使用带有默认选项的普通饼图时,Calc 变得非常慢,然后崩溃(Ubuntu 2018.04)
答案1
楼主的计算机缺乏处理这么多切片的处理能力。在某个较小的数值下,切片将变得难以区分,并且基本上会形成一个实体切片。因此,实际上,处理所有 25,000 个值实际上没有任何意义。您可以通过找到可区分的最小值并将其作为最后一个离散值,然后将所有较小的值聚合成一个残差切片来获得相同的结果。
这可以通过反复试验来实现。使用变量选择最小尺寸,然后绘制它。使变量逐渐变小,直到该尺寸的切片不再可区分。以下是实现此目的的方法:
选择一个起始截止值并将其粘贴在 E1 中。在本例中,该值为 13。当您看到结果切片的大小时,这将让您知道下一次迭代需要调整多少。
假设您的数据在列
A
和中B
,按降序排列(如您的示例所示),在中输入以下公式E2
:=B2
输入以下公式并向
E3
下填充直到返回空单元格:=IF(B2 < $E$1,"",IF(B3 >= $E$1,B3,SUM(B$2:B$25000)-SUM(E$2:E2)))
输入以下公式并向
D2
下填充:=IF(E2 = "","",IF(B2=E2,A2,"杂项"))
你现在应该得到类似这样的内容:
然后你将生成如下所示的图表:
“冲洗并重复”,调整 E1 中的截止值,直到较小的值不会产生任何可见的结果。