Ich habe einige numerische Daten in Matrixform, die der Diskussion halber die Werte einer Funktion f(x,y) sind, die in einem diskreten Gitter abgetastet wurden. Diese Daten befinden sich beispielsweise in einer .csv-Datei oder in einer .ods (LibreOffice Calc) / .xlsx (Excel)-Tabelle; Natürlich kann ich bei Bedarf Formate ändern.
Ich möchte eine Heatmap für diese Daten erstellen : Ein rechteckiges Bild, das an jeder (x,y)-Position eine Farbe aufweist, deren Intensität proportional zu einer vernünftigen Interpolation von f(x,y) unter Verwendung der Beispieldaten ist.
Nun, die Wikipedia-Seite enthält eine Reihe von Links zu Software, die die eine oder andere Art von Heatmaps erstellt, aber ich interessiere mich für einen Vergleich zwischen ihnen in Bezug auf:
Gibt es auch Formate, die das Generieren von SVGs unterstützen, die Heatmaps irgendwie von sich aus unterstützen, dh die Farbgebung von Farbverläufen mit zwei Variablen verwenden?
(Ich hoffe insgeheim auf ein LibreOffice-Plugin, aber ich schätze, es gibt keins.)
Anforderungen:
Bearbeiten: Obwohl ich eine Antwort akzeptiert habe, sind andere Optionen immer noch sehr willkommen, insbesondere solche mit einer GUI.
Hier ist ein einfacher Weg.
Es gibt ein kostenloses Open-Source-Dienstprogramm xyz
zum schnellen und bequemen Visualisieren dreidimensionaler numerischer Daten aus jeder CSV-Datei.
Es führt eine automatische Interpolation für die X- und Y-Dimensionen durch, sodass es auch für Teildaten (nicht Vollraster) funktioniert. Es ermöglicht Ihnen, jede Spalte nach Namen oder Index aus größeren Datensätzen zu extrahieren, und verfügt über viele andere Optionen und Parameter, die Sie über die Befehlszeile festlegen können. B. Titel, Achsenbeschriftung, Farbschema ändern, ob Konturlinien hinzugefügt werden sollen und mehr.
Hier ist eine Beispielausgabe, die aus dem R-Projekt- volcano.csv
Datensatz generiert wurde:
Hier ist ein weiteres Beispiel, das die Befehlszeilensteuerung über die Heatmap zeigt:
# Use same data-file, with explicit column indexes, no contour-lines
# different color-scheme, use log-scale on the X-axis, and customized
# resolutions on two of the axes
xyz volcano.csv 0 1 2 cl=0 xscale=log \
xlab='X (log scale)' ylab=Y title='log-squished seismic volcano' \
cmap=seismic zres=40 xres=50
xyz
eingeschrieben python
, mit pandas
+ matplotlib
.
xyz
ist FOSS. Die Quelle kann von meinem Skript-Repository auf Github heruntergeladen werden: https://github.com/arielf/scripts .
Hier ist ein direkter Link zum rohen xyz-Skript
Das Skript liefert eine Verwendungsmeldung, wenn es ohne oder mit fehlerhaften Parametern aufgerufen wird.
(Vollständige Offenlegung: Ich bin der Autor von xyz
.)
xyz datafile.csv 0 1 2
. Es gibt Ihnen zusätzliche Kontrolle über Befehlszeilenparameter, so dass es natürlicher ist (und ich bin mit gnuplot ziemlich vertraut), es direkt von der Befehlszeile aus zu verwenden, ohne eine neue (auch kleine) Sprache/syntaktische Konvention lernen zu müssen. Vergleichen Sie die Länge und Komplexität eines Skripts wie gnuplot.sourceforge.net/demo_5.0/heatmaps.7.gnu mit einer typischen Verwendung von xyz direkt auf den Daten.Gnuplot sollte Ihren Bedürfnissen entsprechen. Es ist ein tragbares, befehlszeilengesteuertes Grafikdienstprogramm für Linux, OS/2, MS Windows, OSX, VMS und viele andere Plattformen. Es ist relativ einfach zu bedienen und Sie finden viele Tutorials im Internet. Unterstützt viele Ausgabeformate wie pdf, png, gif, jpeg, LaTeX, metafont, emf, svg und HTML5. Gemäß den auf der Projektwebsite verfügbaren Demonstrationen ist es in der Lage, 2D- und 3D-Heatmaps zu erstellen.
Eine Möglichkeit ist die Verwendung von Python-Makroskripten in LibreOffice:
@arielf hat ein Standardbeispiel aus R verwendet, aber er erwähnt keine direkte Lösung mit der Plotly- Bibliothek. Darüber hinaus eignet sich R auch zum Importieren von Datensätzen (z. B. read.csv, die Sie auch auf Locale-CSV anwenden können).
https://plotly.com/r/heatmaps/
Intuitiv zu bedienen: R ist nicht die einfachste Sprache
Einfache Eingabeaufnahme: Die R-Community ist riesig
Geschwindigkeit: R ist schnell
Unterstützung für Karten mit unendlicher Auflösung: nicht sicher, was das bedeutet
Möglichkeit, Ausgabedateien in verschiedenen Formaten zu erstellen: Mit RStudio können Sie PDF und HTML erstellen, der Export in Bilder ist ebenfalls möglich (jpg, png, svg)
Konfigurierbarkeit und Anpassbarkeit: wahrscheinlich das gleiche wie bei anderer Software
RStudio ist kostenlos für Windows und Linux.
Mawg sagt, Monica wieder einzusetzen
einpoklum