Ich versuche derzeit, einige Daten in eine Tabelle in Python zu importieren, um ein Diagramm einer Variablen gegen eine andere zu erstellen. Ich möchte auch jeden Datenpunkt nach zwei der anderen Variablen in derselben Tabelle gruppieren. . Die andere Variable (die ich der Form zuweisen möchte) hat nur 5. Beide kann die Daten leicht gruppieren. Das Problem ist nur mit der Darstellung verbunden, da nicht alle Gruppen alle drei Optionen der "Farbvariablen" enthalten. Ich kann das Streudiagramm leicht Formen oder Farben zeigen. Wenn ich sie kombiniere, habe ich ein Problem. Für jeden Datenpunkt gibt es jedoch zwei Formensätze: eine, die die richtige Form ist, und der andere nur ein Standardpunkt. Wenn ich jedoch entferne, was die doppelten Punkte verursacht, sind die Farben nicht korrekt. Daten sind so simpel: < /p>
import matplotlib.pyplot as plt
import numpy as np
r = np.array([600, 2000, 980, 1770, 920, 1100, 220])
t = np.array([2.7, 12.67, 10.54, 1.3, 16.1, 0.92, 13.56])
spectra_type = np.array(['A', 'A', 'B', 'A', 'C', 'B', 'A'])
spectra_num = np.array([{'A': 0, 'B': 1, 'C': 2} for i in spectra_type])
i = np.array(['Shape1','Shape2','Shape3','Shape4','Shape5','Shape2','Shape4'])
shape1 = np.where(i=='Shape1')[0]
shape2 = np.where(i=='Shape2')[0]
shape3 = np.where(i=='Shape3')[0]
shape4 = np.where(i=='Shape4')[0]
shape5 = np.where(i=='Shape5')[0]
plt.figure('fig 1')
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(t[shape1], r[shape1], c=spectra_num[shape1], marker='D', label='Shape1')
plt.scatter(t[shape2], r[shape2], c=spectra_num[shape2], marker='^', label='Shape2')
plt.scatter(t[shape3], r[shape3], c=spectra_num[shape3], marker='o', label='Shape3')
plt.scatter(t[shape4], r[shape4], c=spectra_num[shape4], marker='s', label='Shape4')
plt.scatter(t[shape5], r[shape5], c=spectra_num[shape5], marker='*', label='Shape5')
first_legend = plt.legend(loc='upper left')
plt.gca().add_artist(first_legend)
scatter = plt.scatter(t, r, c=spectra_num)
plt.legend(handles=scatter.legend_elements()[0], labels=['A', 'B', 'C'], title='Colour')
< /code>
Dies gibt mir das folgende Diagramm, da Sie sehen können, dass die Formen alle da sind, aber mit einer anderen "regulären" Form überlagert werden. < /p>
Jeder Rat wäre sehr geschätzt!
Wie ändere ich sowohl die Form als auch die Farbe eines einzelnen Streupunkts in Python Matplotlib? ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post