[PYTHON] Verschiedene Farbleisten mit Matplotlib

Im Fall eines zweidimensionalen Diagramms können bis zu drei Datentypen unter Verwendung der x-Achse, der y-Achse und der Farbe ausgedrückt werden. Nach der MATLAB-Edition (https://qiita.com/Yuricst/items/1594cacb930bd4fa6d63) ein Hinweis zum Hinzufügen einer Farbleiste im Plot mit Matplotlib in Python. (Auch wenn es nicht die optimale Lösung ist, scheint es, dass diese Methode rechtzeitig angewendet werden kann. Sie wird von Zeit zu Zeit aktualisiert.)

Für Streudiagramm (`` `plt.scatter```)

Im Falle von Streuung ist es ziemlich einfach, das Array anzugeben, das Sie als Farbparameter verwenden möchten, wenn Sie `dispers ()` mit `c``` verwenden, und die Farbkarte mit` cmap``` angeben Einfach mit angeben. Als Einschränkung erfordert die zum Hinzufügen eines Farbbalkens verwendete `` fig.colorbar () `ein zuordnbares Objekt, daher muss die Streuung selbst als Objekt zugewiesen werden (im0 im folgenden Beispiel). .. Wenn Sie bei der Verwendung von Unterzeichnungen die gleichen Farbparameter verwenden, gibt es kein Problem, auch wenn Sie nicht alle Unterzeichnungen als Objekte zuweisen.

# assign color array
cc = transfer_df['Jacobi_LPO']

plt.rcParams["font.size"] = 16
fig, axs = plt.subplots(1, 3, figsize=(15, 6))
im0 = axs[0].scatter(transfer_df['loi_cost']*1000, transfer_df['incl'], c=cc, cmap='plasma', s=15, marker='x')
axs[0].set_xlabel('LOI cost [m/sec]')
axs[0].set_ylabel('Inclination [deg]')
axs[0].grid(True)

axs[1].scatter(transfer_df['loi_cost']*1000, transfer_df['raan'], c=cc, cmap='plasma', s=15, marker='x')
axs[1].set_xlabel('LOI cost [m/sec]')
axs[1].set_ylabel('RAAN [deg]')
axs[1].grid(True)

axs[2].scatter(transfer_df['loi_cost']*1000, -transfer_df['tof_EM_SOI']*Tstar_EM/(60*60*24), c=cc, cmap='plasma', s=15, marker='x')
axs[2].set_xlabel('LOI cost [m/sec]')
axs[2].set_ylabel('Tof til lunar SOI [days]')
axs[2].grid(True)


fig.colorbar(im0, label='LPO Jacobi')
plt.suptitle(f'Moon SOI leg, beta = {transfer_df.iloc[0,:]['beta0']}')
plt.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()

Im Fall von locus (`` `plt.plot```)

Im Falle einer Handlung wird der Prozess etwas kompliziert. Grob gesagt

# plot of the transfer (xy-plot)
fig, axs = plt.subplots(1, 1, figsize=(12,10))
plt.rcParams["font.size"] = 20

for j in tqdm( range(len(df_peritarg)) ):  
    # generate segments
    points = np.array([proptry["x_arr"] *Lstar , proptry["y_arr"] *Lstar]).T.reshape(-1, 1, 2)
    segments =np.concatenate([points[:-1], points[1:]], axis=1)
    
    loi_color = df_peritarg.iloc[j,:]["time2perilune"]*Tstar/86400 * np.ones(( len(proptry["x_arr"]) ,))
    
    # create color bar
    norm = plt.Normalize(min( df_peritarg["time2perilune"] )*Tstar/86400, max( df_peritarg["time2perilune"])*Tstar/86400)
    lc = LineCollection(segments, cmap='Reds', norm=norm)
    # Set the values used for colormapping
    lc.set_array( loi_color )
    lc.set_linewidth(0.8)
    line = axs.add_collection(lc)

# display colorbar
fig.colorbar(line, ax=axs, label="Transfer time [days]")

axs.grid()
axs.set_title(f'Targeting from {familydf.iloc[0,:]["family"]}')
axs.set_xlabel('x [km]')
axs.set_ylabel('y [km]')
axs.set_xlim(300000, 500000)
axs.set_ylim(-60000, 60000)
axs.set_aspect('equal')

Recommended Posts

Verschiedene Farbleisten mit Matplotlib
Japanisch mit Matplotlib
Animation mit matplotlib
Histogramm mit Matplotlib
Erstellen Sie eine Animation mit matplotlib
2-Achsen-Plot mit Matplotlib
Heatmap von Python + matplotlib
Banddiagramm mit Matplotlib
Lernen Sie mit Chemo Informatics Matplotlib
Echtzeitzeichnung mit Matplotlib
3D-Plot mit Matplotlib
Stellen Sie die Achsen mit matplotlib ein
Zeichnen Sie Excel-Daten mit matplotlib (1)
Versuchen Sie es mit matplotlib mit PyCharm
Zeichnen Sie Excel-Daten mit matplotlib (2)
Einzeilige Ergänzung mit verschiedenen Skripten
Stapelbares Barplot mit Matplotlib
Bearbeiten Sie verschiedene Datenbanken mit Python
Entwickelt mit Choregraphe und verschiedenen Memoranden
Wählen Sie mit matplotlib abgestufte Farben aus
Animieren Sie mehrere Diagramme mit matplotlib
Erstellen Sie eine Plotanimation mit Python + Matplotlib
Python-Grafikhandbuch mit Matplotlib.
Inferenz- und Ergebnisanzeige mit Tensorflow + matplotlib
Japanisieren Sie Matplotlib mit Alpine mit Docker
Zeichne Japanisch mit matplotlib auf Ubuntu
Zeichnen Sie mit matplotlib ein loses Diagramm
Vielseitige Datenerfassung mit Pandas + Matplotlib
Verschiedene Feinabstimmungen mit Mobilenet v2
Heatmap mit Dendrogramm in Python + Matplotlib
Einfache japanische Schrifteinstellung mit matplotlib
Zeichnen Sie einfach Diagramme mit matplotlib
Kontinuierliche Farbe mit Matplotlib-Streudiagramm
Zeichne Riapnov Fractal mit Python, matplotlib
Wenn matplotlib nicht mit python2.7 funktioniert
Führen Sie mit Python, matplotlib, einen logarithmischen Normalwahrscheinlichkeitsplot durch
Einfache Animation mit matplotlib (mp4, gif)
Schreiben Sie ein gestapeltes Histogramm mit matplotlib
Implementieren Sie "Data Visualization Design # 2" mit matplotlib
Behandelt verschiedene Datumsformate mit Pandas
Wie man mit matplotlib mehrere Figuren betitelt
[Python] Legen Sie den Diagrammbereich mit matplotlib fest
GUI-Programmierung mit kivy ~ Teil 4 Verschiedene Tasten ~
Passen Sie den Abstand zwischen den Figuren mit Matplotlib an
Richten Sie die Größe der Farbleiste an der Matplotlib aus
Versuchen Sie, mit matplotlib eine Normalverteilung zu zeichnen
Machen Sie mit matplotlib eine teilweise gezoomte Figur
Schreiben Sie SVG-Diagramme mit Matplotlib mit Heroku
Japanisches Diagramm mit VS Code + matplotlib anzeigen
Heat Map für die Rastersuche mit Matplotlib
Stellen Sie die Farbe der xticklabels individuell mit matplotlib ein
Zeichnen Sie eine hierarchische Achsenbeschriftung mit matplotlib + pandas
[Python] Lassen Sie uns matplotlib mit Japanisch kompatibel machen
1. Mit Python 1-3 gelernte Statistiken. Berechnung verschiedener Statistiken (Statistiken)
Zeigen Sie Markierungen über dem Rand mit matplotlib an
Richten Sie die Farbleiste mit matplotlib an der Figur aus
[Jupyter Notebook Memo] Kanji mit Matplotlib anzeigen
Verschiedene Möglichkeiten, Ressourcen mit Umfang zu zerstören
Zeichnen Sie mit matplotlib ein schönes Kreisdiagramm
Nehmen Sie allgemeine Einstellungen mit der Unterzeichnung von matplotlib vor