我正在尝试使用具有不连续x轴的pyplot创建绘图.绘制的通常方法是轴将具有以下内容:
(值)---- // ----(后来的值)
其中//表示您正在跳过(值)和(后面的值)之间的所有内容.
我还没有找到任何这方面的例子,所以我想知道它是否可能.我知道你可以通过不连续性加入数据,例如财务数据,但我想让轴上的跳转更明确.目前我只是使用子图,但我真的希望最终在同一个图表上结束所有内容.
我目前正在使用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)
Run Code Online (Sandbox Code Playgroud)
我想让x轴标签更有意义.
首先,这里的x轴刻度似乎限于五个刻度.无论我做什么,我似乎无法改变这一点 - 即使我添加更多xticklabels,它只使用前五个.我不确定Matplotlib如何计算这个,但我认为它是从范围/数据中自动计算的?
有没有什么办法可以提高x-tick标签的分辨率 - 甚至可以提高每个条形码/ bin 的分辨率?
(理想情况下,我也希望以微秒/毫秒重新格式化秒数,但这是另一天的问题).
其次,我想要标记每个单独的条形图 - 包含该条形图中的实际数字,以及所有条形图总数的百分比.
最终输出可能如下所示:

Matplotlib有可能吗?
干杯,维克多
我想绘制带有pylot的标准2D线图,但强制轴的值在x上介于0和600之间,y上强制介于10k和20k之间.让我举个例子......
import pylab as p
p.title(save_file)
p.axis([0.0,600.0,1000000.0,2000000.0])
#define keys and items elsewhere..
p.plot(keys,items)
p.savefig(save_file, dpi=100)
Run Code Online (Sandbox Code Playgroud)
但是,轴仍然可以调整到数据大小.我正在解释p.axis的效果是设置max和min可能是什么,而不是强制它们是max或min.当我尝试使用p.xlim()等时会发生同样的情况.
有什么想法吗?
谢谢.