Мне нужно использовать объектно-ориентированный интерфейс matplotlib (3.1.2), чтобы нарисовать несколько изображений на Python, но я получаю неприятные результаты при вызове pcolormesh(). Проблема исчезает при использовании интерфейса конечного автомата. Однако, насколько я понимаю, последнее я использовать не могу, так как мне нужно управлять несколькими осями.
Рассмотрите следующий пример кода, демонстрирующий проблему:
импортировать matplotlib из matplotlib импортировать pyplot импортировать numpy как np OO = True #Установите значение False, чтобы это работало # f = 7,5e8 + np.arange(4096) * (1,25e9 - 7,5e8)/4096 т = np.arange(1024)/1000 sxx = np.random.rand(f.size,t.size) # если ОО: рис = matplotlib.pyplot.figure() оси = matplotlib.pyplot.axes(figure=fig) спектрограмма = axes.pcolormesh(t, f, sxx, shading='auto') fig.colorbar(спектрограмма) еще: спектрограмма = matplotlib.pyplot.pcolormesh(t, f, sxx, shading='auto') matplotlib.pyplot.colorbar(спектрограмма) matplotlib.pyplot.show() Результаты плохие (например, почти нет отметок по оси Y), как показано ниже. Редактирование пределов x/y или тиков не помогает.

Тем не менее, если в приведенном выше коде для параметра «OO» установлено значение «False», результат будет хорошим (см. ниже).

Как заставить объектно-ориентированный интерфейс работать как интерфейс конечного автомата?