Scatterplot mit Farbverlauf

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
cwesche
User
Beiträge: 14
Registriert: Mittwoch 10. Februar 2010, 11:43

Hallo Forum,

ich hoffe meine Suche hier war ausführlich genug, um nicht doch einen für mich wichtigen Betrag zu übersehen.

Ich habe eine ASCII Tabelle mit 3 Spalten (xyz) und ich würde gern einen Scatterplot generieren, wo die Variation des z-Wertes durch einen Farbverlauf dargestellt wird.

Den Scatterplot mit xy ist kein problem, ich weiß nur nicht, wie ich den z-Wert bzw. wie ich die einem z-Wert Intervall einen Farbverlauf zuweisen soll.

Bisher sieht es so aus (ich lasse die Modulzuweisungen mal weg...sind ja auch anpassbar):

Code: Alles auswählen

img_spring = 'data'

img_spring_data = read_array(img_spring,separator='	')

figure(1)
matplotlib.pyplot.scatter(img_spring_data[:,0], img_spring_data[:,3], color='b',marker='o',s=40)
matplotlib.pyplot.scatter(wsm_spring_data[:,0], wsm_spring_data[:,3], color='b',marker='x',s=40)
matplotlib.pyplot.xticks(arange(5)+1,())
matplotlib.pyplot.show()
Die Symbole sind derzeit einfarbig...das soll geändert werden.

Ein Dank schon mal im Voraus!
christine
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

cwesche
User
Beiträge: 14
Registriert: Mittwoch 10. Februar 2010, 11:43

ja...so ähnlich...die punkte sollen halt schon gleichgroß sein, nur einen farbverlauf zeigen, den ich vorher festgelegt habe. vielleicht kann ich ja mit dem source code da schon was anfangen und probier mal rum!

DANKE!!!!!
...
User
Beiträge: 116
Registriert: Mittwoch 23. Dezember 2009, 20:22

Du kannst doch die Farbe der Punkte anstelle von 'b' auch in der Hex-Schreibweise angeben, oder irre ich mich?
Musst halt die Farbe für jeden Punkt berechnen, in ne neue Liste schreiben, und die Farbe für jeden Punkt dann dem Plot mitgeben...


lg,
...
cwesche
User
Beiträge: 14
Registriert: Mittwoch 10. Februar 2010, 11:43

kann ich dir nicht sagen, ob das geht..weil ich erst mal gucken muss, was die hex schreibweise ist. ;-)
aber du hast mich auf eine idee gebracht. ich versuche mal ne klassifizierung der werte und schau mal, welche schreibweise ich verwenden möchte. dann kann ich ja einfach eine neue spalte bei "color=" zuweisen....oder bin ich da jetzt vollkommen falsch?
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Alles viel zu kompliziert. Benutze einfache eine der Colormaps, die zur Verfügung gestellt werden. Um mal ein einfaches Beispiel zu geben:

Code: Alles auswählen

x = arange(0,10,0.1)
y = array([i - (random() - 0.5) for i in x])
scatter(x, y, c = y-x, cmap = cm.jet)
Nachzulesen in den jeweiligen Doc-Strings.

Grüße
Gerrit
cwesche
User
Beiträge: 14
Registriert: Mittwoch 10. Februar 2010, 11:43

danke gerrit....es funktioniert hervorragend!!
grüße, christine
Antworten