Zastanawiam się, czy istnieje sposób kontrolowania, która działka znajduje się na innych działkach, jeśli tworzy się wiele wykresów na jednej osi. Przykład:Kontrolka Matplotlib, która działka znajduje się na górze
Jak widać, zielona seria jest na górze niebieski serii, a obie serie są na górze czarnych kropek (co zrobiłem z wykresu rozrzutu). Chciałbym, żeby czarne kropki były na wierzchu obu serii (linii).
raz pierwszy zrobił to powyżej z następującego kodu
plt.plot(series1_x, series1_y)
plt.plot(series2_x, series2_y)
plt.scatter(series2_x, series2_y)
Potem próbowałem następujące
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(series1_x, series1_y)
ax2 = fig.add_subplot(111)
ax2.plot(series2_x, series2_y)
ax3 = fig.add_subplot(111)
ax3.scatter(series2_x, series2_y)
a niektóre wariacje na tym, ale bez powodzenia.
Zamiana funkcji plot
wpływa na to, który wykres jest na wierzchu, ale bez względu na to, gdzie umieszczę funkcję scatter
, linie są na wierzchu kropek.
UWAGA:
Używam Pythona 3.5 w systemie Windows 10 (ten przykład), ale przede wszystkim Pythonie 3.4 na Ubuntu.
UWAGA 2:
wiem, może to wydawać się trywialny problem, ale mam przypadek, w którym serie na szczycie kropkami są tak gęste, że kolor kropki uzyskać zasłonięte, aw w tych przypadkach potrzebuję moich czytelników, aby jasno zobaczyli, które kropki są w jakim kolorze, dlatego potrzebuję kropek, które będą na górze.
Dlaczego odtwarzasz osie podpoziomów dla każdego nowego wykresu? Możesz po prostu utworzyć jeden wątek, a następnie wykonać wszystkie swoje kreślenia (i użyć zordera, jak w poniższych odpowiedziach, aby kontrolować, co jest na górze). – tom
Wspomniałem, że zrobiłem "pewne odmiany" na tym, co tam pokazałem - zrobiłem rób to tylko z podpichem. Zwykle robię to po prostu z plt.plot, plt.scatter itp.Zwykle nie martwię się o siekiery i obiekty figur, chyba że muszę przekazać je innym funkcjom i robić różne fantazyjne rzeczy. –