32

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

使用matlab生成的图像

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

使用 matplotlib 生成的 eimage

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

4

3 回答 3

56

要使标记显示在轴之外,您可以关闭剪裁。这可以使用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()

在此处输入图像描述

于 2012-03-28T19:10:43.323 回答
1

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

对于第二个问题,请查看类figsize实例的 kwarg Figurehttp ://matplotlib.sourceforge.net/api/figure_api.html?highlight=figsize#matplotlib.figure.Figure

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

于 2012-03-28T17:03:02.307 回答
0

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

于 2012-03-28T17:13:03.437 回答