Как мне позволить мой график matplotlib выйти за пределы осей?
Мне нужно перевести графическое изображение script с matlab на matplotlib/pylab, и я пытаюсь добиться того же эффекта, что и изображение matlab ниже:
![image generated using matlab]()
Как вы можете видеть, порядок z графиков кажется выше, чем z-порядок сетки, поэтому маркеры не спрятаны осями. Тем не менее, я не могу найти способ сделать то же самое с моим изображением matplotlib:
![eimage generated with matplotlib]()
Мне интересно, можно ли получить один и тот же дисплей, не увеличивая границы оси y.
Ответы
Ответ 1
Чтобы маркер отображался за осями, вы можете отключить обрезку. Это можно сделать, используя аргумент ключевого слова в команде 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]()
Ответ 2
Это полный пример использования zorder
kwarg: http://matplotlib.sourceforge.net/examples/pylab_examples/zorder_demo.html
Обратите внимание, что более высокий z-порядок приравнивается к тому, что элемент графа больше на переднем плане.
Для вашего второго вопроса посмотрите на figsize
kwarg на экземпляры класса Figure
: http://matplotlib.sourceforge.net/api/figure_api.html?highlight=figsize#matplotlib.figure.Figure
Если у вас возникли проблемы, отправьте часть своего кода, и мы сможем дать более подробные рекомендации. Удачи.
Ответ 3
Если вы рисуете строки один за другим, просто измените порядок вызовов по графику и это исправит порядок z.