2015-10-22 6 views
8

plotten Hier ist, was ich ausprobiert habe.Wie man Bilder c Stil Heatmap mit Farbbalken in Julia

- Winston-Paket: gibt zahlreiche Fehler, die sagen, "Syntax veraltet", wenn Sie versuchen, zu installieren oder zu verwenden. Ich habe versucht, Pkg.update() zu tun, aber dies befreit mich nicht von den Fehlern. Trotz der Fehler wird Winston eine Heatmap mit der imagesc Funktion erstellen, genau wie Matlab ... großartig! aber Winston hat keine Farbbalken (?) :(

- Plotly Paket: gibt auch zahlreiche Fehler sagen "Syntax veraltet" beim Versuch zu installieren oder zu verwenden. Ich habe versucht, Pkg.update(), aber dies nicht los Der Plotly zeigt in seiner Dokumentation, dass es Farbbalken hat, aber ich kann nichts arbeiten, vermutlich wegen des veralteten Syntaxproblems.

Wäre sehr dankbar für alle Vorschläge, um Bilderc Stil Heatmaps in JULIA plotten! Ich habe nicht Zugriff auf Matlab.

Antwort

4

Sie können versuchen, das Vega.jl-Paket. Ich habe vor kurzem einen Stummel einer Heatmap-Funktion gebaut.Das Beispiel funktioniert mit Julia 0.4+, aber wenn Sie irgendwelche Probleme haben, bitte eine iss Ue. Ich aktualisiere das Paket ziemlich häufig.

http://johnmyleswhite.github.io/Vega.jl/heatmap.html

Pkg.add("Vega") 
using Vega 

x = Array(Int, 900) 
y = Array(Int, 900) 
color = Array(Float64, 900) 

t = 0 
for i in 1:30 
    for j in 1:30 
     t += 1 
     x[t] = i 
     y[t] = j 
     color[t] = rand() 
    end 
end 

hm = heatmap(x = x, y = y, color = color) 
+1

Dies funktioniert gut; Das Diagramm wird in einem Browserfenster angezeigt und es besteht die Möglichkeit, die Bilddatei im Browser zu speichern. Vielen Dank ! Ich werde dies für zukünftige Verwendung behalten. –

6

PyPlot ist eine gute Wahl für diese:

using PyPlot 

M = rand(10, 10) 
pcolormesh(M) 
colorbar() 

[pcolor steht für "Pseudo-Farbe". Ja, es ist ein schrecklicher Name. Und ja, es kommt aus MATLAB, wie vielen anderen schrecklichen Namen ...]

Es gibt drei verschiedene relevante Funktionen: pcolor, pcolormesh und imshow, die verschiedenen Möglichkeiten zur Verfügung; siehe die Matplotlib-Dokumentation, z.B. http://matplotlib.org/examples/pylab_examples/pcolor_demo.html (Beachten Sie, dass die Syntax in Julia etwas anders sein kann.)

Das Plots.jl Paket (https://github.com/tbreloff/Plots.jl) eine heatmap Funktion, die mit mehreren verschiedenen Backends funktioniert. Es scheint mir, dass dies die Zukunft des Plottens in Julia ist, da Sie die Feinheiten der verschiedenen Pakete nicht lernen müssen.

EDIT: Farbbalken sind tatsächlich in Plots.jl implementiert! Siehe diese Ausgabe: https://github.com/tbreloff/Plots.jl/issues/52

+0

Das PyPlot funktioniert gut für mich. Ich mag, dass die Handlung in einem Zahlenfenster auftaucht (ähnlich Matlab). Vielen Dank ! Ich werde das häufig benutzen. –