gpt4 book ai didi

python - pyplot.hist histt​​ype = 'step' 故障取决于数据

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:49 24 4
gpt4 key购买 nike

我做了很多绘图,并在 pyplot.hist 函数中遇到了奇怪的异常情况。我已将程序精简为最小的工作示例以显示问题。

import matplotlib.pyplot as plt
import numpy as np
var = [25.00, 35.68, 29.02, 25.46, 30.58, 30.86, 38.08, 38.63,
25.19, 32.11, 26.57, 37.23, 37.97, 27.38, 27.25, 33.33,
31.41, 26.93, 28.42, 25.99, 30.09, 31.87, 34.40, 33.46,
31.76, 34.03, 27.01, 27.52, 30.41, 25.84, 25.84]
fig = plt.figure()
plt.hist(var, histtype = 'step')
plt.show()

当我运行脚本时,我得到:

Anomaly http://dl.dropbox.com/u/13695305/Figure%201_005.png

但是,如果我删除最后 5 元素:27.01、27.52、30.41、25.84、25.84,则脚本可以正常工作。

import matplotlib.pyplot as plt
import numpy as np
var = [25.00, 35.68, 29.02, 25.46, 30.58, 30.86, 38.08, 38.63,
25.19, 32.11, 26.57, 37.23, 37.97, 27.38, 27.25, 33.33,
31.41, 26.93, 28.42, 25.99, 30.09, 31.87, 34.40, 33.46,
31.76, 34.03]
fig = plt.figure()
plt.hist(var, histtype = 'step')
plt.show()

Working! http://dl.dropbox.com/u/13695305/Figure%201_004.png

这让我发疯!我尝试过使用 numpy 数组,但这没有帮助。 Numpy random 工作没有问题。但由于某种原因,我的特定数据集(类型?)导致它失败。有谁知道为什么吗?

编辑:值得注意的是,该函数在 histt​​ype = 'bar' 时工作正常,但在 histt​​ype = 'step' 时出现错误。希望有人可以重现这个问题。

最佳答案

不幸的是it's a bug ,但有一个解决方法:手动设置绘图的 ymin

import matplotlib.pyplot as plt
import numpy as np

var = [[25.00, 35.68, 29.02, 25.46, 30.58, 30.86, 38.08, 38.63,
25.19, 32.11, 26.57, 37.23, 37.97, 27.38, 27.25, 33.33,
31.41, 26.93, 28.42, 25.99, 30.09, 31.87, 34.40, 33.46,
31.76, 34.03, 27.01, 27.52, 30.41, 25.84, 25.84]]
fig, ax = plt.subplots()#figsize = (10, 10))
ax.hist(var[0],histtype = 'step')
plt.ylim(ymin=0)
plt.show()

不过,该错误似乎已在 v1.3 中得到修复。显然我使用的是早期版本。

>>> matplotlib.__version__
'1.1.1rc'

因此升级 matplotlib 可能会解决问题。

关于python - pyplot.hist histt​​ype = 'step' 故障取决于数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17726323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com