Seite 1 von 1

matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:01
von Pythonlearner123
Hallo,

ich möchte punkte visualisieren abhängig von einem Wert.

for j in range(0, len(data)):

if data[j] == 50:

ax.scatter(x[j],y[j],color= 'red')

else:

ax.scatter(x[j],y[j],color='blue')

fig.show()

Das Ergebnis ist aber nicht wie erwartet, alle werte werden entweder komplett blau oder komplett grun eingefärbt. Kann mir jemand helfen?

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:17
von Sirius3
Da das Beispiel nicht vollständig ist, kann man Dein Problem auch nicht nachvollziehen. Nach welchem Kriterium wird denn alles blau oder grün eingefärbt? Bei gleichen Daten sollte das Ergebnis doch immer gleich sein. Grün ist mit diesem Code sehr unwahrscheinlich.

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:19
von Pythonlearner123
Sirius3 hat geschrieben: Sonntag 30. September 2018, 20:17 Da das Beispiel nicht vollständig ist, kann man Dein Problem auch nicht nachvollziehen. Nach welchem Kriterium wird denn alles blau oder grün eingefärbt? Bei gleichen Daten sollte das Ergebnis doch immer gleich sein. Grün ist mit diesem Code sehr unwahrscheinlich.
ich habe eine Liste data angelegt. Wenn der Wert halt 50 ist, soll dieser Punkt grün eingefärt werden. Falls der Wert der Liste ungleich 50 ist, soll dieser halb blau eingefärbt werden.

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:22
von Sirius3
Ist schon klar. Aber scheinbar hast Du ja ein Problem, das der gepostete Code nicht hat.

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:24
von Pythonlearner123
Sirius3 hat geschrieben: Sonntag 30. September 2018, 20:22 Ist schon klar. Aber scheinbar hast Du ja ein Problem, das der gepostete Code nicht hat.
ja mein Problem ist, dass das Teilprogramm nur alle Felder in der Liste Data blau einfärbt oder grün, aber es niemals vorkommt, dass er die punkte grun und blau färbt, was laut den Daten aber sein müsste :x

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 20:28
von sls
@Pythonlearner123: aus deinem Code geht nur hervor, dass der besagte Punkt entweder "rot" oder "blau" eingefärbt werden soll. Von grün ist hier nichts zu sehen. `j` ist ein schlechter Name für eine Variable, genauso wie `x`. Auch `x` wird irgendwo hergezaubert.

Das hier:

Code: Alles auswählen

for j in range(0, len(data)):
ist ein Python-Antipattern. Du kannst direkt über deine Liste `data` iterieren. range() macht so keinen Sinn.

Re: matplotlib.pyplot

Verfasst: Sonntag 30. September 2018, 21:12
von Sirius3
Du kannst noch fünf mal erzählen, was Du gerne haben möchtest, den Code den Du gepostet hast, malt rote und blaue Punkte, Du mußt also irgendwas anderes machen was Du nicht zeigst.