Ich versuche, ein Streudiagramm von zwei Arrays/Listen, von denen die x-Koordinate und die andere die y ist. Ich habe damit keine Probleme. Allerdings muss ich diese Punkte basierend auf ihren Werten zu einem bestimmten Zeitpunkt farbcodieren, basierend auf Daten, die ich in einem 2D-Array habe. Auch dieses 2D-Datenfeld hat eine sehr große Streuung, daher möchte ich die Punkte logarithmisch einfärben (ich bin mir nicht sicher, ob das bedeutet, nur die Farbbalkenbeschriftungen zu ändern oder ob es einen grundlegenderen Unterschied gibt.)Färbung matplotlib Streudiagramm durch dritte Variable mit Protokoll Farbbalken
Hier ist mein Code so weit:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(1)
time = #I'd like to specify time here.
x = [1, 2, 3, 4, 5]
y = [5, 4, 3, 2, 1]
multi_array = [[1, 1, 10, 100, 1000], [10000, 1000, 100, 10, 1], [300, 400, 5000, 12, 47]]
for counter in np.arange(0, 5):
t = multi_array[time, counter] #I tried this, and it did not work.
s = plt.scatter(x[counter], y[counter], c = t, marker = 's')
plt.show()
ich den Rat folgte ich durch eine dritte Variable anderswo Farbe sah, die die Farbe gleich diese variablen gesetzt war, aber dann, als ich versuchte, dass meine Daten-Set mit , Ich habe gerade alle Punkte als eine Farbe bekommen, und dann, wenn ich es mit diesem Modell versuche, gibt es mir den folgenden Fehler:
TypeError: list indices must be integers, not tuple
Könnte mir bitte jemand helfen, meine Punkte so zu färben, wie ich es brauche?
Das war hilfreich, aber nicht ganz das, was ich meinte. Ich möchte nicht das Protokoll der Daten nehmen und es färben, ich möchte die Farbe logarithmisch ändern. Wenn das Sinn macht? – evtoh
So ähnlich. [http://matplotlib.org/examples/pylab_examples/pcolor_log.html](http://matplotlib.org/examples/pylab_examples/pcolor_log.html) – evtoh