我目前正在使用Matplotlib创建一个直方图:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as pyplot
...
fig = pyplot.figure()
ax = fig.add_subplot(1,1,1,)
n, bins, patches = ax.hist(measurements, bins=50, range=(graph_minimum, graph_maximum), histtype='bar')
#ax.set_xticklabels([n], rotation='vertical')
for patch in patches:
patch.set_facecolor('r')
pyplot.title('Spam and Ham')
pyplot.xlabel('Time (in seconds)')
pyplot.ylabel('Bits of Ham')
pyplot.savefig(output_filename)
我想让x轴标签更有意义一些。
首先,这里的x轴刻度似乎被限制为五个刻度。无论我做什么,我似乎不能改变这一点-即使我添加更多的xticklabels,它也只使用前五个。我不确定Matplotlib是如何计算的,但我假设它是从范围/数据自动计算出来的?
有没有什么方法可以提高x-tick标签的分辨率--甚至可以提高到每个条形/条形的分辨率?
(理想情况下,我还希望将秒重新格式化为微秒/毫秒,但这是另一个问题)。
其次,我想要每个标记为的条形图--带有该条形图中的实际数量,以及占所有条形图总数的百分比。
最终输出可能如下所示:
这样的事情在Matplotlib中是可能的吗?
干杯,维克多
https://stackoverflow.com/questions/6352740
复制相似问题