Dots statt Pixel

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
Axi
User
Beiträge: 16
Registriert: Freitag 23. Juli 2010, 18:03

Hallo,
ich habe eine Frage an Matplotlib-Kenner:
Kann man mit bei Matplotlib statt pixel dots erzeugen, wie bei gnuplot und wenn ja, wie.
Mein Problem:
Ich habe eine große Zahlenmenge mit einer Struktur drin. Die Punkte in Matplotlib sind zu groß, sodass die feine Struktur der Zahlenmenge nicht richtig erscheint.
Gibt es vielleicht eine Möglichkeit, die Pixelgröße manuell einzugeben, sodass die Pixel wie einzelne Dots erscheinen.
Danke für die Antworten
Axi
BlackJack

@Axi: Die Fragestellung macht begrifflich nicht viel Sinn. Ob nun Dots oder Pixel hängt vom Ausgabeformat ab und die Grösse von Dots und Pixeln letztlich vom Ausgabemedium. Du suchst wahrscheinlich `markersize` was in Points als Fliesskommazahl angegeben werden kann. In der Doku zu matplotlib.pyplot.plot() kann man nachlesen wo man das angeben muss.
Axi
User
Beiträge: 16
Registriert: Freitag 23. Juli 2010, 18:03

Hallo BlackJack,
danke für deine Antwort. Ich kam allerdings nicht weiter. Durch Hinzufügen von markersize konnte ich die Pixelgröße nur etwas ändern, dafür wurden die Punkte aber veschwommener, kaum wahrnehmbar.Außerdem sind sie immernoch zu groß.
Bei Werten < 1 kann man nichts mehr erkennen.

Hier mein Kode:
subplot(111, xscale="linear", yscale="linear", axisbg='darkblue')
plot([1,2,3,4,5,6], [1,4,5,6,6,6], '.', markersize =1.0,color='white')

Ich habe mich eingangs falsch ausgedrückt. In gnuplot gibt es points und dots.
Die Größe von points kann man beliebig verkleinern, sodass sie wie dots erscheinen. (Dort kann man bis 0.001 heruntegehen, ohne dass sie an Helligkeit verlieren)
Auch bei Turtle kann man sehr kleine Punkte erzeugen.
Vielleicht kennst Du einen anderen Weg.Danke!
Axi
BlackJack

@Axi: Also ich kann in dem Beispiel die beiden Punkte sehen. Ansonsten ist das ein Problem was die Anzeige betrifft, wie zum Beispiel Punkte gerendert werden, die auf dem Bildschirm kleiner als ein Pixel sind. Das kann ja auch je nach Backend noch einmal unterschiedlich ausfallen. Wenn Du so kleine Punkte brauchst, dann solltest Du vielleicht über die Darstellungsform noch einmal nachdenken.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Verwende "pixel" (',') statt "dot" ('.'). "pixel" habe immer die Größe eines Pixels. Kleiner geht's nicht. Du kannst zusätzlich noch die Auflösung der "figure" erhöhen, dann sind die Pixel im Verhältnis auch kleiner.

Grüße
Gerrit
Axi
User
Beiträge: 16
Registriert: Freitag 23. Juli 2010, 18:03

Hallo Gerrit,
danke für den Tipp. Kannst du mir bitte sagen, wie ich die Auflösung von "figure" erhöhen kann.
Ich habe nicht viel Ahnung in Python und Matplotlib. Es wäre nett, wenn du es mit einem Beispiel erklären könntest.
Danke schön!
Axi
Antworten