Rahmen auf PLT.Figure entfernen; Rahmen durch Initialisierung der Nebenhandlungen, aber IMGs in Nebenhandlungen haben eiPython

Python-Programme
Anonymous
 Rahmen auf PLT.Figure entfernen; Rahmen durch Initialisierung der Nebenhandlungen, aber IMGs in Nebenhandlungen haben ei

Post by Anonymous »

Ich versuche, eine Figur in Python mit Matplotlib.pyplot zu erstellen, das 3 Nebenhandlungen in einer Reihe enthält. Aber ich habe jedoch Schwierigkeiten mit den Frames, die ursprünglich durch meinen Code erstellt werden. Auf zwei der Bilder sind Zahlen auf der X-Achse falsch angezeigt, auf der rechten Seite sind es richtig. Die y-Achse ist irgendwie richtig, sollte aber in die benachbarte Farbleiste greifen. Die separate Funktion erstellt sie richtig und ich kann mit Jupyter überprüfen, aber mein Code scheint sie zu ignorieren. Irgendwie sind die Colormaps und CBARs jedoch korrekt. Aber die meisten sind verloren. PrettyPrint-Override ">def show_evol(data, x = "dis", y = "up", c = "avg", cmap = "jet",width = None, hight = None, size = None, itering = True, hardcut_up = False, hardcut_down = False,times = [int(365/2), int(365/6)]):

if hight == None or width == None:
width, hight = get_boundries(data, x,y,size=size, itering=itering)

array_list = [array_of_all(data,x,y,c,hight,width,0,hardcut_down,hardcut_up,size,itering)]

for i in times:
array_list += [array_of_diff(data,x,y,c,hight,width,i,hardcut_down,hardcut_up,size,itering)]
# date_array = array_of_all(data, hight=hight, dis = dis, y_list = y_list, c_list = c_list, date = i)
# array_list += [array_of_diff(data, y_list = y_list, c_list = c_list, hight = hight, dis = dis, date = i)]

fig = plt.figure()
gs = fig.add_gridspec(2, 3, height_ratios=[1, 0.5])
# gs = matplotlib.gridspec.GridSpec(2, 3, fig)

axs_top = [fig.add_subplot(gs[0, i]) for i in range(3)]

ar_ax1 = fig.add_subplot(gs[0,0])
ar_ax2 = fig.add_subplot(gs[0, 1], sharey = ar_ax1)
ar_ax3 = fig.add_subplot(gs[0, 2], sharey = ar_ax1)

ar_list = [ar_ax1, ar_ax2, ar_ax3]

# for ax in ar_list:
# ax.set_frame_on(False)

# for i, array in enumerate(array_list):

# ar_list.add_image, ar_list = return_ax_obj(array,x,y,c,cmap,width,hight, title = f"this is a test for {i}")#[1]

for ax, array in zip(ar_list, array_list):

# ax.set_frame_on(True)
return_ax_obj(array,x,y,c,cmap,width,hight, title = f"this is a test for {i}", ax = ax, fig = fig)
# for spine in ax.spines.values():
# spine.set_visible(True)

# for ax, array in zip(ar_list, array_list):
# # Entferne gezielt nur den äußeren Rahmen der Subplots
# for spine in ['top', 'right', 'left', 'bottom']:
# ax.spines[spine].set_visible(False)

# # Optional: Tick-Parameter anpassen (falls nötig)
# ax.tick_params(axis='both', which='both', length=0)

# # Bild und Colorbar anzeigen
# return_ax_obj(array, x, y, c, cmap, width, hight, title=f"this is a test for {i}", ax=ax)

plt.show()
< /code>
Ich kann überprüfen, ob ich ein AX-Objekt erfolgreich zurückgeben und es mit: < /p>
anzeigen kannfig, ax = plt.subplots()
new_bike_functions.return_ax_obj(my_other_alltime_array, width = my_iter_boundries[0], hight = my_iter_boundries[1], title = "test",fig = fig, ax = ax)
plt.show()
< /code>
Das resultierende Bild scheint korrekt zu sein:
[Arbeitsrendite, wobei alle Etiketten, Titel und Zahlen angezeigt werden und die Verhältnisse und Größen korrekt sind. Geschrieben, es gibt eine weitere Möglichkeit, ihre Arbeit zu überprüfen: < /p>
ax =new_bike_functions.return_ax_obj(my_other_alltime_array, width = my_iter_boundries[0], hight = my_iter_boundries[1], title = "test")
print(ax)
print(ax[0])
print(ax[1])
plt.show()
< /code>
Auf diese Weise benötigen wir keine vordefinierte Plt.Figure (), um das Bild zu sehen, aber wir erhalten eine Figur mit Achse, die durch die Funktion erstellt wurde. Der Ausdruck sieht so aus: < /p>
(, )
AxesImage(shape=(9, 9))
Axes(0.125,0.11;0.62x0.77)
< /code>
Das Bild sieht gleich aus:

zweite Verifizierung < /p>
My p> My -Axevel. Die Funktion gibt das Plt.imshow ()-Objekt so weit wie die durch Fig. Axis = PLT.SubPlots () erstellte Achse (Achsesimage, Achsen). Alt = "Plot" src = "https://i.sstatic.net/tywskbjj.png"/>
Beachten Sie, dass dies hartcodiert ist und im Code schrecklich aussieht (aber ein schönes Ergebnis). Aber ich möchte in der Lage sein, die obigen Bilder in meinem Rückzug zu definieren und dann durch die Rückkehrfunktion vordefiniert zu sein. Nur ein Beispiel, es gibt mehrere Dinge, die ich das Layout für jedes Bild genauso verallgemeinern und beheben möchte. Post.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post