У меня есть некоторые числовые данные в матричной форме, которые для обсуждения представляют собой значения некоторой функции f (x, y), выбранные на некоторой дискретной сетке. Эти данные находятся, скажем, в файле .csv или в таблице .ods (LibreOffice Calc)/.xlsx (Excel); конечно, я могу изменить форматы, если это необходимо.
Я хочу создать тепловую карту для этих данных: прямоугольное изображение, которое в каждой позиции (x, y) имеет цвет, интенсивность которого пропорциональна некоторой разумной интерполяции f (x, y) с использованием выборочных данных.
Теперь на странице Википедии есть куча ссылок на программное обеспечение, которое создает тот или иной вид тепловых карт, но меня интересует сравнение между ними в отношении:
Кроме того, существуют ли форматы, которые поддерживают создание svg, которые каким-то образом поддерживают тепловые карты, то есть с использованием двухвариантной окраски градиентной области?
(Я тайно надеюсь на плагин для LibreOffice, но, похоже, его нет.)
Требования:
Изменить: хотя я принял ответ, другие варианты по-прежнему очень приветствуются, особенно с графическим интерфейсом.
Вот более простой способ.
Существует бесплатная утилита с открытым исходным кодом xyz
для быстрой и удобной визуализации трехмерных числовых данных из любого файла CSV.
Он выполняет автоматическую интерполяцию по измерениям X, Y, поэтому он работает даже с частичными (не полной сеткой) данными. Он позволяет извлекать любой столбец по имени или индексу из больших наборов данных и имеет множество других опций и параметров, которые можно установить из командной строки. например, изменить заголовок, метки осей, цветовую схему, добавить ли контурные линии и многое другое.
Вот пример вывода, созданного из volcano.csv
набора данных R-проекта:
Вот еще один пример, показывающий управление тепловой картой из командной строки:
# 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
написано в python
, используя pandas
+ matplotlib
.
xyz
является ФОСС. Исходники можно скачать из моего репозитория скриптов на github: https://github.com/arielf/scripts .
Вот прямая ссылка на необработанный скрипт xyz
Сценарий выдает сообщение об использовании при вызове без параметров или с ошибочными параметрами.
(Полное раскрытие: я автор xyz
.)
xyz datafile.csv 0 1 2
. Это дает вам дополнительный контроль через параметры командной строки, поэтому более естественно (и я хорошо знаком с gnuplot) использовать непосредственно из командной строки, без необходимости изучать новый (даже небольшой) язык/синтаксические соглашения. Сравните длину и сложность скрипта, такого как gnuplot.sourceforge.net/demo_5.0/heatmaps.7.gnu , с типичным использованием xyz непосредственно на данных.Gnuplot должен соответствовать вашим потребностям. Это портативная графическая утилита, управляемая из командной строки, для Linux, OS/2, MS Windows, OSX, VMS и многих других платформ. Он относительно прост в использовании, и вы найдете множество руководств в Интернете. Поддерживает множество выходных форматов, таких как pdf, png, gif, jpeg, LaTeX, metafont, emf, svg и HTML5. Согласно демонстрациям, доступным на веб-сайте проекта, он может создавать 2D- и 3D-тепловые карты.
Одна из возможностей — использовать сценарии макросов Python в LibreOffice:
@arielf использовал стандартный пример из R, но не упоминает прямое решение с использованием библиотеки plotly . Кроме того, R также эффективен для импорта наборов данных (например, read.csv, который вы также можете применить к локали csv).
https://plotly.com/r/тепловые карты/
Интуитивность использования: R — не самый простой язык
Простота ввода: сообщество R огромно
Скорость: R быстро
Поддержка карт с бесконечным разрешением: не знаю, что это значит
Возможность создания выходных файлов в различных форматах: с помощью RStudio можно создавать pdf и html, также возможен экспорт в изображения (jpg, png, svg)
Конфигурируемость и возможность настройки: вероятно, такие же, как и у другого программного обеспечения.
RStudio бесплатна для Windows и Linux.
Мог говорит восстановить Монику
айнпоклум