2016-09-24 2 views
1

Ich benutze Julia 0.5 und die neueste Version von PyPlot. Ich drucke ein 2D-Array mit plot.pcolor und es funktioniert ziemlich gut. Aber jetzt habe ich Daten, die eine logarithmische Skalierung benötigen. Ich suchte im Internet und was ich fand, war ein Beispiel unter Verwendung vonLogarithmische Skalierung/Farbbalken in Julia mit PyPlot (Matplotlib)

plt.pcolor(X, Y, Z1, norm=LogNorm(vmin=Z1.min(), vmax=Z1.max()), cmap='PuBu_r')

Aber da LogNorm scheint eine Python-Funktion ist nicht funktioniert in Julia zu sein. Hat jemand eine Idee was ich an norm= übergeben kann um eine logarithmische Skalierung zu bekommen?

Ein Beispiel wäre:

using PyPlot 
A = rand(20,20) 
figure() 
PyPlot.pcolor(A, cmap="PuBu_r") 
colorbar() 
+0

Wenn dies nicht in Julias Pyplot implementiert ist, müssen Sie es selbst implementieren. Es ist eine ziemlich einfache Funktion zu portieren. [Siehe hier] (https://github.com/matplotlib/matplotlib/blob/84d979b9b55d5165630aa4e7d5ca1b30fb52e420/lib/matplotlib/colors.py). – sascha

Antwort

2

Matplotlib Felder und Methoden zugegriffen werden kann, die

matplotlib[:colors][:LogNorm] 

Syntax (d.h. für das entsprechende Objekt matplotlib.colors.LogNorm) verwendet wird.

UPDATE: Vielen Dank für Ihre mwe. Basierend auf diesem Beispiel, habe ich es geschafft, es so zu arbeiten:

PyPlot.pcolor(A, norm=matplotlib[:colors][:LogNorm](vmin=minimum(A), vmax=maximum(A)), cmap="PuBu_r") 
+0

Ok, ich habe ein Beispiel hinzugefügt. – ChristianM

+0

Vielen Dank. Ich habe meine Antwort aktualisiert. Auch für den Fall, dass Sie vielleicht meinen, ich würde mich weigern zu antworten, bis Sie mir ein triviales Beispiel gegeben haben (was mir in den Sinn kommt, hehe, ich könnte mich irren!), Könnten Sie denken, dass das ein triviales Beispiel war. Aber eigentlich benutze ich PyPlot nicht so sehr, also war es hilfreich, etwas zu haben, mit dem man spielen konnte, das garantiert funktionierte und in der Art war, wonach man suchte. Also nochmals vielen Dank für die Aktualisierung Ihrer Frage mit einem. –

+0

auch, nur darauf hinweisen, "Minimum" und "Maximum" sind die entsprechenden julia-Methoden für die Suche nach dem Minimum und Maximum einer Sammlung. (Min- und Max-Julia-Funktionen gibt es auch, aber sie machen etwas anderes). –

Verwandte Themen