разделить подзаговор, используя gridspecs, чтобы иметь 6 кнопок одинакового размера - PullRequest
0 голосов
/ 06 сентября 2018

Я новичок в мире визуализации данных, и мне было поручено создать GUI (графический интерфейс пользователя) для визуализации данных и некоторых модных элементов управления в этом. Проблема в том, что я использую вспомогательные участки, используя gridspecs, и мне нужно иметь Кнопки одинакового размера в «сюжете ax5», как показано на рисунке. Я не могу найти решение, чтобы получить доступ к этому "ax5", а затем разделить это площадь на 6 равных кнопок.

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec


def make_ticklabels_invisible(fig):
    for i, ax in enumerate(fig.axes):
        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
        ax.tick_params(labelbottom=False, labelleft=False)


# demo 3 : gridspec with subplotpars set.

fig = plt.figure(facecolor = '#0F0F0F')

fig.suptitle("GridSpec w/ different subplotpars", color= '#e21f1f')

gs1 = GridSpec(3, 3)
gs1.update(left=0.01, right=0.49, wspace=0.05, hspace=0.05)
ax1 = plt.subplot(gs1[:-1, :-1])
ax2 = plt.subplot(gs1[:-1, -1:])
ax3 = plt.subplot(gs1[-1, :])


gs2 = GridSpec(3, 3)
gs2.update(left=0.50, right=0.98, hspace=0.05, wspace=0.05)
ax4 = plt.subplot(gs2[:-2, :])

# need to have six buttons in 5th subplot
ax5 = plt.subplot(gs2[-2:-1, :])
ax6 = plt.subplot(gs2[-1, :])

make_ticklabels_invisible(fig)
pos5 = ax5.get_position()
print(pos5)
plt.show()

SamplePlot

...