Я делаю группу подзаговоров (скажем, 3 x 2) в matplotlib, но у меня меньше 6 наборов данных. Как я могу сделать оставшийся участок пустым?
Расположение выглядит так:
+----+----+
| 0,0| 0,1|
+----+----+
| 1,0| 1,1|
+----+----+
| 2,0| 2,1|
+----+----+
Это может продолжаться для нескольких страниц, но на последней странице есть, например, 5 наборов данных, и поле 2,1 будет пустым. Однако я назвал цифру как:
cfig,ax = plt.subplots(3,2)
Итак, в пространстве для подзаговора 2,1 есть набор осей по умолчанию с отметками и метками. Как я могу программно визуализировать это пространство пустым и без осей?
источник
add_subplot()
беспорядка.С того момента, как этот вопрос был задан впервые, в matplotlib был добавлен значительно улучшенный интерфейс подзаголовка . Здесь вы можете создать именно те сюжеты, которые вам нужны, не скрывая дополнительных функций. Кроме того, подзаголовки могут охватывать дополнительные строки или столбцы.
import pylab as plt ax1 = plt.subplot2grid((3,2),(0, 0)) ax2 = plt.subplot2grid((3,2),(0, 1)) ax3 = plt.subplot2grid((3,2),(1, 0)) ax4 = plt.subplot2grid((3,2),(1, 1)) ax5 = plt.subplot2grid((3,2),(2, 0)) plt.show()
источник
Также можно скрыть подзаголовок с помощью метода Axes.set_visible ().
import matplotlib.pyplot as plt import pandas as pd fig = plt.figure() data = pd.read_csv('sampledata.csv') for i in range(0,6): ax = fig.add_subplot(3,2,i+1) ax.plot(range(1,6), data[i]) if i == 5: ax.set_visible(False)
источник
Будет ли возможность создавать подзаговоры, когда они вам понадобятся?
import matplotlib matplotlib.use("pdf") import matplotlib.pyplot as plt plt.figure() plt.gcf().add_subplot(421) plt.fill([0,0,1,1],[0,1,1,0]) plt.gcf().add_subplot(422) plt.fill([0,0,1,1],[0,1,1,0]) plt.gcf().add_subplot(423) plt.fill([0,0,1,1],[0,1,1,0]) plt.suptitle("Figure Title") plt.gcf().subplots_adjust(hspace=0.5,wspace=0.5) plt.savefig("outfig")
источник