2 Stimmen

Überlagern Sie transparente Pfade in matplotlib?

from pylab import *
plot(randn(1000), randn(1000), alpha=0.1)
[]
savefig('test.png')

liefert dies:

Geben Sie hier eine Bildbeschreibung ein

Wo die Pfade kombiniert werden und dann die Transparenz angewendet wird. Ich möchte etwas wie dies:

Geben Sie hier eine Bildbeschreibung ein

Dies wurde in Inkscape nachbearbeitet, um die Pfade aufzubrechen und dann zu überlagern. Dies ist mit dem Datensatz, den ich verwende, nicht praktikabel, da er zu groß ist und meinen Computer praktisch abstürzen lässt, wenn ich versuche, ihn in Inkscape zu öffnen. Gibt es einen Weg, dies direkt in Matplotlib zu tun?

Bearbeiten: Die tatsächlichen Daten, die ich verwende, sind ein einzelner langer Vektor geophysikalischer Daten, und ich versuche, ein Phasenporträt mit plot(vec[:-1], vec[1:]) zu zeichnen.

1voto

ala Punkte 224

Sie könnten einfach eine Schleife verwenden, um das Diagramm zu erstellen:

for i in range(100):
    plot(randn(10), randn(10), alpha=0.5, c='b')

wird Ihnen etwas Ähnliches liefern (die Transparenz wird für jede Iteration der Schleife "hinzugefügt"):

Bildbeschreibung hier eingeben

Je nach Ihrem Datensatz weiß ich jedoch nicht, wie praktikabel dieser Ansatz wäre.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X