So ziemlich genau das, was die Frage Staaten, aber ein wenig Kontext:Python/Matplotlib: In zufälliger Reihenfolge wählen „Probe“ Streupunkte für verschiedenen Marker
Ich bin ein Programm der Schaffung eine große Anzahl von Punkten plotten (~ 10.000 , aber es wird später mehr sein). Dies wird mit Hilfe von matplotlibs plt.scatter gemacht. Dieser Befehl ist Teil einer Schleife, die die Figur speichert, damit ich sie später animieren kann.
Was ich tun möchte, ist zufällig einen kleinen Teil dieser Partikel (sagen wir vielleicht 100?) Auszuwählen und ihnen einen anderen Marker als den Rest zu geben, obwohl sie Teil des gleichen Datensatzes sind. Dies ist so, dass ich sie als Platzhalter verwenden kann, um die Bewegung der einzelnen Partikel sowie das Schüttgut zu sehen.
Gibt es eine Möglichkeit, einen anderen Marker für eine kleine Teilmenge der gleichen Daten zu verwenden?
Als Referenz werden die Teilchen gleichmäßig gerade verteilt, um den numpy Zufallssampler verwendet wird, aber mein Code für das heißt:
for i in range(N): # N number of particles
particle_position[i] = np.random.uniform(0, xmax) # Initialize in spatial domain
particle_velocity[i] = np.random.normal(0, 5) # Initialize in velocity space
for i in range(maxtime):
plt.scatter(particle_position, particle_velocity, s=1, c=norm_xvel, cmap=br_disc, lw=0)
die Position und Geschwindigkeit bei jeder Iteration der Hauptschleife Änderung (es gibt ziemlich viel von Code), aber dies sind die Hauptinitialisierungs- und Zeichenroutinen.
Ich hatte eine Idee, dass ich vielleicht eine Reihe von i Werten aus dem Bereich (N) zufällig auswählen und einen ax.scatter() Befehl verwenden könnte, um sie auf den gleichen Achsen zu zeichnen?
haben Sie versucht, zwei plt.scatter() verwendet, wo der andere die Zufallspartikelteilmenge enthält? Diese Antwort hier könnte helfen: http://stackoverflow.com/questions/11190735/python-mplotlib-superimpose-scatter-plots?rq=1 – jtitusj