Tengo algunos datos numéricos en forma de matriz, que por el bien de la discusión son los valores de alguna función f(x,y) muestreada en alguna cuadrícula discreta. Estos datos están, por ejemplo, en un archivo .csv o en una tabla .ods (LibreOffice Calc) / .xlsx (Excel); por supuesto que puedo cambiar los formatos si es necesario.
Quiero generar un mapa de calor para estos datos: una imagen rectangular que, en cada posición (x, y), tiene un color cuya intensidad es proporcional a alguna interpolación razonable de f (x, y) usando los datos de muestra.
Ahora, la página de Wikipedia tiene un montón de enlaces a software que produce un tipo u otro de mapas de calor, pero estoy interesado en una comparación entre ellos, con respecto a:
Además, ¿existen formatos que admitan la generación de svg que de alguna manera admitan mapas de calor intrínsecamente, es decir, que utilicen coloración de área de degradado de dos variables?
(Espero en secreto un complemento de LibreOffice, pero supongo que no hay uno).
Requisitos:
Editar: si bien he aceptado una respuesta, otras opciones siguen siendo muy bienvenidas, especialmente las que tienen una GUI.
Aquí hay una manera más fácil.
Existe una utilidad gratuita y de código abierto xyz
para visualizar rápida y cómodamente datos numéricos tridimensionales de cualquier archivo CSV.
Realiza una interpolación automática en las dimensiones X, Y, por lo que funciona incluso en datos parciales (no de cuadrícula completa). Le permite extraer cualquier columna por nombre o índice de conjuntos de datos más grandes y tiene muchas otras opciones y parámetros que puede configurar desde la línea de comandos. por ejemplo, cambie el título, las etiquetas de los ejes, el esquema de color, si desea agregar líneas de contorno y más.
Aquí hay un resultado de ejemplo generado a partir del volcano.csv
conjunto de datos de R-project:
Aquí hay otro ejemplo, que muestra el control de la línea de comandos sobre el mapa de calor:
# 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
escrito en python
, usando pandas
+ matplotlib
.
xyz
es FOSS. La fuente se puede descargar desde mi repositorio de scripts en github: https://github.com/arielf/scripts .
Aquí hay un enlace directo al script xyz sin procesar
El script proporciona un mensaje de uso cuando se llama sin parámetros o con parámetros erróneos.
(Divulgación completa: soy el autor de xyz
.)
xyz datafile.csv 0 1 2
. Le brinda control adicional a través de los parámetros de la línea de comandos, por lo que es más natural (y estoy bastante familiarizado con gnuplot) para usar directamente desde la línea de comandos, sin tener que aprender un nuevo lenguaje/convenciones sintácticas (incluso pequeñas). Compare la longitud y la complejidad de un script como gnuplot.sourceforge.net/demo_5.0/heatmaps.7.gnu con un uso típico de xyz directamente en los datos.Gnuplot debe ajustarse a sus necesidades. Es una utilidad gráfica portátil impulsada por línea de comandos para Linux, OS/2, MS Windows, OSX, VMS y muchas otras plataformas. Es relativamente fácil de usar y encontrará muchos tutoriales en Internet. Admite muchos formatos de salida como pdf, png, gif, jpeg, LaTeX, metafont, emf, svg y HTML5. Según las demostraciones disponibles en el sitio web del proyecto, es capaz de producir mapas de calor 2D y 3D.
Una posibilidad es usar secuencias de comandos de macros de python dentro de LibreOffice:
@arielf usó un ejemplo estándar de R pero no menciona una solución directa usando la biblioteca plotly . Además, R también es potente para importar conjuntos de datos (p. ej., read.csv, que también puede aplicar a locale csv).
https://plotly.com/r/heatmaps/
Intuitividad de uso: R no es el lenguaje más fácil
Facilidad de ingesta de entrada: la comunidad R es enorme
Velocidad: R es rápido
Compatibilidad con mapas de resolución infinita: no estoy seguro de lo que esto significa
Capacidad para producir archivos de salida en varios formatos: con RStudio puede crear pdf y html, también es posible exportar a imagen (jpg, png, svg)
Configurabilidad y capacidad de ajuste: probablemente lo mismo que otro software
RStudio es gratuito para Windows y Linux.
Mawg dice que reincorpore a Monica
einpoklum