Ausgearbeitt Frage:lesen und liefert alle Werte aus einem Array
Lassen Sie mich meine Frage klären. Ich mag entlang der Y-Achse und Modalität Werte entlang der X-Achse mit Subjektivität Polarität eine Liste der Feldausgabe als 2D-Streudiagramm zeichnen, die zwischen -1 und 1 liegen bestimmt die Art der Markierung (o, x, ^, v)
Ausgang
polarities: [ 0. 0. 0. 0.]
subjectivity: [ 0.1 0. 0. 0. ]
modalities: [ 1. -0.25 1. 1. ]
Der modifizierte Code mit begrenztem Markierungswert für 2 Bereich.
print "polarities: ", a[:,0]
print "subjectivity: ", a[:,1]
print "modalities: ", a[:,2]
def markers(r):
markers = np.array(r, dtype=np.object)
markers[(r>=0)] = 'o'
markers[r<0] = 'x'
return markers.tolist()
def colors(s):
colors = np.array(s, dtype=np.object)
colors[(s>=0)] = 'g'
colors[s<0] = 'r'
return colors.tolist()
fig=plt.figure()
ax=fig.add_subplot(111)
ax.scatter(a[:,0], a[:,1], marker = markers(a[:,2]), color= colors(a[:,0]), s=100, picker=5)
Meine Absicht ist es, den Modalitätswert zu überprüfen und einen der vier Marker zurückzugeben. Wenn ich Hardcore 'o' es die Handlung zurückgibt.
ax.scatter(a[:,0], a[:,1], marker = markers('o'), color= colors(a[:,0]), s=100, picker=5)
Als Versuch habe ich versucht, die Farbfunktion zu imitieren und als pass [: 2], aber traf eine Shell-Ausgabe Fehler
ValueError: Unrecognized marker style ['o', 'x', 'o', 'o']
Die Frage ist: Ist mein Ansatz falsch? oder wie man den Markierungsstil erkennt?
Edit1
Der Versuch, den m-Wert zu erhalten, zwischen 0 und 0,5
mit diesem Code
ax.scatter (p[0<m<=.5], s[0<m<=.5], marker = "v", color= colors(a[:,0]), s=100, picker=5)
diesen Fehler
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
ergibt Wie m Reichweite Wert zwischen 0 und 0,5 im Beispiel in Antwort gegeben er 2.
Danke. Bitte beachten Sie die ausführliche Frage. –
@Programmer_nltk Ich habe Ihr EDIT 1-Problem beantwortet. Ich glaube, Sie haben alles, was Sie brauchen, um Ihr Problem von hier zu lösen –
Danke. Tatsächlich! Es ist fertig. –