Tworzę grupę subplot (powiedzmy 3 x 2) w matplotlib, ale mam mniej niż 6 zestawów danych. Jak mogę uczynić pozostały wykres pomocniczy pusty?
Aranżacja wygląda następująco:
+----+----+
| 0,0| 0,1|
+----+----+
| 1,0| 1,1|
+----+----+
| 2,0| 2,1|
+----+----+
Może to trwać przez kilka stron, ale na ostatniej stronie znajduje się na przykład 5 zestawów danych, w których pole 2,1 będzie puste. Jednak zadeklarowałem liczbę jako:
cfig,ax = plt.subplots(3,2)
Tak więc w przestrzeni dla podpunktu 2,1 znajduje się domyślny zestaw osi ze znacznikami i etykietami. Jak programowo wyrenderować tę przestrzeń jako pustą i pozbawioną osi?
źródło
add_subplot()
bałaganu.Od czasu pierwszego zadania tego pytania do matplotlib dodano znacznie ulepszony interfejs subplot. Tutaj możesz stworzyć dokładnie takie podploty, których potrzebujesz, bez ukrywania dodatków. Ponadto wykresy podrzędne mogą obejmować dodatkowe wiersze lub kolumny.
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()
źródło
Możliwe jest również ukrycie wykresu cząstkowego za pomocą metody 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)
źródło
Czy byłaby to opcja tworzenia działek podrzędnych, kiedy ich potrzebujesz?
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")
źródło