如何让我的matplotlib图超出轴?

时间:2012-03-28 16:53:50

标签: python matplotlib z-order axes

我必须将图像绘制脚本从matlab转换为matplotlib / pylab,我试图获得与下面的matlab图像相同的效果:

image generated using matlab

如您所见,图的z顺序似乎高于网格的z顺序,因此标记不会被轴隐藏。但是,我无法想出用matplotlib图像做同样的方法:

eimage generated with matplotlib

我想知道是否可以在不增加y轴限制的情况下获得相同的显示。

3 个答案:

答案 0 :(得分:37)

要让标记显示在轴之外,您可以关闭剪裁。这可以使用plot命令clip_on=False中的关键字参数来完成。

例如:

import matplotlib.pyplot as plt
plt.plot(range(5), range(5), 'ro', markersize=20, clip_on=False, zorder=100)
plt.show()

enter image description here

答案 1 :(得分:1)

这是如何使用zorder kwarg:http://matplotlib.sourceforge.net/examples/pylab_examples/zorder_demo.html的完整示例 请注意,较高的z顺序等同于前景中更多的图元素。

关于第二个问题,请查看figsizeFigure类的{{1}} kwarg:http://matplotlib.sourceforge.net/api/figure_api.html?highlight=figsize#matplotlib.figure.Figure

如果您遇到问题,请发布一些代码,我们将能够提供更详细的建议。祝你好运。

答案 2 :(得分:0)

如果您一个接一个地绘制线条,只需更改绘图调用的顺序即可修复z顺序。