<p>我不是matplotlib的专家,但我发现<code>hist</code>非常有用。<a href="http://matplotlib.org/1.3.1/examples/pylab_examples/histogram_demo_extended.html" rel="nofollow noreferrer">matplotlib site</a>上的示例对一些特性进行了很好的概述。</p>
<p>我不知道如何使用您提供的示例数据而不转换它。我修改了您的示例,在创建直方图之前对这些数据进行去量化。</p>
<p>我用<a href="https://stackoverflow.com/questions/6986986/bin-size-in-matplotlib-histogram">this question's first answer</a>计算了箱子的大小。</p>
<pre><code>import matplotlib.pyplot as plt
import numpy as np
data = np.loadtxt('file.txt')
dequantized = data[:,0].repeat(data[:,1].astype(int))
dequantized[0:7]
# Each row's first column is repeated the number of times found in the
# second column creating a single array.
# array([ 264., 265., 266., 266., 266., 266., 267.])
def bins(xmin, xmax, binwidth, padding):
# Returns an array of integers which can be used to represent bins
return np.arange(
xmin - (xmin % binwidth) - padding,
xmax + binwidth + padding,
binwidth)
histbins = bins(min(dequantized), max(dequantized), 5, 5)
plt.figure(1)
plt.hist(dequantized, histbins)
plt.show()
</code></pre>
<p>显示的直方图如下所示。
<img src="https://i.stack.imgur.com/z3PGj.png" alt="Histogram with a binwidth of 5"/></p>
<p>我希望这个例子有用。</p>