饼图中的负值

5
我的应用程序使用各种图表类型可视化数据。饼图显示的一些数据包括负值,但是饼图不适合显示负数。
  • Excel 输出所有值的绝对值。因此,-20 在饼图中输出为占 20% 饼图周长的一片。唯一确定该数字为负数的方法是参考图例。
  • Highcharts 是我们使用的图表引擎,它将正值保留不变,但以非常奇怪和令人困惑的方式呈现负值(在 JS Lint 上的示例)。感谢他们尝试呈现负数,但我们的用户感到困惑。
  • 其他人建议完全过滤掉负数,因为在饼图上它们没有意义。这会剥夺数据并不能完全代表数据集,所以这对我们可能行不通。
  • 其他人建议使用更合适的图表类型,比如条形图。
  • 还有其他解决方案吗?你是如何做的?

    我会说,如果你(可能)有负面因素,那么其他方案几乎肯定更合适。如果不能有负面因素,那么其他方案也几乎肯定更合适。饼图传达信息的效果很差。 - Jerry Coffin
    5个回答

    5

    最近我思考了同样的问题,并制作了如下草图。
    请假设项目B具有负值。

    d3.js的'arc'和'pie'函数非常方便使用。

    工作示例在这里

    donut chart containing negative value pattern 1

    我还添加了同心圆,如下所示。

    donut chart containing negative value pattern 2


    5

    对于正值,请使用绿色的阴影。

    使用负值的绝对值,然后以红色的阴影显示不同的负值。


    2

    您可以使用圆环图表绘制饼图,其中一个表示正值,另一个表示负值。关键在于表示100%的值对于正数和负数都是相同的。结果是可视化地呈现出集合中的正面、负面以及整体上的正面或负面情况。

    http://www.highcharts.com/demo/pie-donut


    0
    你可以使用两个甜甜圈图表相互配合。一个代表负值,另一个代表正值(可能通过使用不同的颜色渐变来指示哪个是哪个,例如绿色/红色)。诀窍在于根据正或绝对负值选择每个甜甜圈的半径。如果有重叠,请调整可视化效果,使两个甜甜圈之间的边界恰好位于两个绝对值的平均值处。

    0

    这是我在Excel中使用甜甜圈图表所做的事情:

    我有4个项目的ROI百分比在-8到正8之间。我将它们的总和减去1,再除以项目数,然后再加回来。这样可以使所有值等于1。

    然后我使用=If命令将数字排序到“负面”上方和下方。这提供了制作两个图表的能力,一个使用左侧和中心正面信息,另一个使用中心和左侧负面信息。

    现在,每个部分都相对于自身的现金流给予25%的份额。右侧显示正在使用资金的内容,右侧显示该项贡献的金额。由于这更合乎逻辑,因此图表设置为显示相反。

    然后通过删除背景、调整图表和环的大小,并对每个部分进行着色或不填充,我成功地展示了我想要的内容。

    这里是带有代码的Excel截图。只需替换=即可。

    希望这能帮助到某些人!

    逻辑

    图表


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接