установить положение осей - PullRequest
0 голосов
/ 16 июня 2020

Я хочу, чтобы ширина и высота осей были одинаковыми. Я не знаю, как этого добиться. (не задавать размер фигуры)
Я пробую использовать функции get_position и set_position следующим образом:

import matplotlib.pyplot as plt
from matplotlib import gridspec
import numpy as np

x = np.random.normal(size=50000)
y = x * 3 + np.random.normal(size=50000)

fig = plt.figure(figsize=(5, 5), constrained_layout=True)
fig.canvas.set_window_title("Basic histograms(different bins)")
gs = fig.add_gridspec(2, 2)

ax1 = fig.add_subplot(gs[0, 0])
ax1.hist2d(x, y, bins=(50, 50), cmap=plt.cm.jet)
ax1.set_title("Big bins")

pos = list(ax1.get_position().bounds)
# print(pos)
pos[-2] = pos[-1]
# print(pos)
ax1.set_position(pos)  #  why this axes disappears
# print(ax1.get_position().bounds)

ax2 = fig.add_subplot(gs[0, 1])
ax2.hist2d(x, y, bins=(300, 300), cmap=plt.cm.jet)
ax2.set_title("Small bins")

ax3 = fig.add_subplot(gs[1, 0])
ax3.hist2d(x, y, bins=(300, 30), cmap=plt.cm.jet)
ax3.set_title("rectangle bins")

plt.show()
plt.close()

первые оси исчезают. Как сделать оси квадратными (ширина равна высоте). Это означает, что независимо от размера фигуры, первые оси имеют одинаковую ширину и высоту.

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