【问题标题】:Pyplot pie chart bug with small values小值的Pyplot饼图错误
【发布时间】:2016-01-07 06:26:02
【问题描述】:

我尝试在饼图上绘制一组小值,但得到以下结果:

values = [0.077, 0.028, 0.006, 0.149, 0.081]

fig = plt.figure(figsize=(6,6))
ax = fig.add_subplot(111)
ax.pie(values, startangle=90)
plt.show()

但是,我只需将这些值乘以 10 即可得到正确的结果:

values = [v*10 for v in values]

知道为什么会发生这种情况,以及如何解决吗?

(注意:我使用的是 Python 2.7、matplotlib 1.4.3,并且我正在从 IPython 笔记本运行脚本)

【问题讨论】:

    标签: python matplotlib pie-chart


    【解决方案1】:

    这不是错误,而是预期的行为。来自documentation:

    制作数组 x 的饼图。每个楔形的小数面积由 x/sum(x) 给出。 如果 sum(x)

    看起来pyplot.pie 没有一个选项可以为总和小于 1 的数组自动规范化数组,所以如果你想填充饼图,我建议你自己规范化它们(或者只是将它们乘以一些数字来确保总和是> 1,正如您已经发现的那样)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多