Seite 1 von 1

Scatterplot mit Farbverlauf

Verfasst: Mittwoch 10. Februar 2010, 11:54
von cwesche
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

Verfasst: Donnerstag 11. Februar 2010, 02:42
von gkuhl

Verfasst: Donnerstag 11. Februar 2010, 08:46
von cwesche
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!!!!!

Verfasst: Donnerstag 11. Februar 2010, 09:39
von ...
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,
...

Verfasst: Donnerstag 11. Februar 2010, 10:17
von cwesche
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?

Verfasst: Donnerstag 11. Februar 2010, 10:21
von gkuhl
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

Verfasst: Donnerstag 11. Februar 2010, 14:55
von cwesche
danke gerrit....es funktioniert hervorragend!!
grüße, christine