Распределить ось Y на нескольких фигурах - PullRequest
0 голосов
/ 08 июля 2019

У меня есть фигуры, требующие очень высокого разрешения, поэтому я не могу использовать вспомогательные участки с несколькими осями (в результате получается ValueError: размер изображения 102400x6400 пикселей слишком велик ).Однако я все еще хочу, чтобы все фигуры имели общую ось Y, как это было бы с plt.subplots(sharey=True).В этом случае меня не интересует отображение только одной оси y, как это было бы в случае с графиками.Скорее, я хочу, чтобы тики были в одинаковом положении, а расстояния между ними были одинаковыми.

1 Ответ

1 голос
/ 09 июля 2019

Конечно, вы можете просто установить одинаковые пределы для обеих осей вручную.И на самом деле это было бы решением, которое я бы порекомендовал при производстве высококачественной продукции.

ax1.set_ylim(xmin, xmax)
ax2.set_ylim(xmin, xmax)

Вычисление xmin и xmax может быть автоматизировано в зависимости от варианта использования.

Если требуется полностью автоматизированное решение или если требуется истинное совместное использование, вы можете делиться осями после их создания .

import numpy as np
import matplotlib.pyplot as plt

x1 = np.arange(6)
y1 = np.tile([1,2],3) 

x2 = np.arange(5,11)
y2 = np.tile([6,8],3) 


fig1, ax1 = plt.subplots()
fig2, ax2 = plt.subplots()

ax1.plot(x1,y1)
ax2.plot(x2,y2)

ax1.get_shared_x_axes().join(ax1, ax2)
ax1.get_shared_y_axes().join(ax1, ax2)

ax2.autoscale()


plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...