Сюжет - тепловая карта

Тепловая карта (или тепловая карта) - это графическое представление данных, в котором отдельные значения, содержащиеся в матрице, представлены в виде цветов. Основная цель тепловых карт - лучше визуализировать объем местоположений / событий в наборе данных и помочь в направлении зрителей к наиболее важным областям визуализации данных.

Из-за зависимости от цвета для передачи значений тепловые карты, вероятно, чаще всего используются для отображения более обобщенного представления числовых значений. Тепловые карты чрезвычайно универсальны и эффективны для привлечения внимания к тенденциям, и именно по этим причинам они становятся все более популярными в сообществе аналитиков.

Тепловые карты по своей природе не требуют пояснений. Чем темнее оттенок, тем больше количество (чем выше значение, тем плотнее дисперсия и т. Д.). Модуль graph_objects Plotly содержитHeatmap()функция. Ему нужно x,y и zатрибуты. Их значение может быть списком, массивом numpy или фреймом данных Pandas.

В следующем примере у нас есть 2D-список или массив, который определяет данные (урожай разными фермерами в тоннах / год) для цветового кода. Затем нам также понадобятся два списка с именами фермеров и выращиваемых ими овощей.

vegetables = [
   "cucumber", 
   "tomato", 
   "lettuce", 
   "asparagus",
   "potato", 
   "wheat", 
   "barley"
]
farmers = [
   "Farmer Joe", 
   "Upland Bros.", 
   "Smith Gardening",
   "Agrifun", 
   "Organiculture", 
   "BioGoods Ltd.", 
   "Cornylee Corp."
]
harvest = np.array(
   [
      [0.8, 2.4, 2.5, 3.9, 0.0, 4.0, 0.0],
      [2.4, 0.0, 4.0, 1.0, 2.7, 0.0, 0.0],
      [1.1, 2.4, 0.8, 4.3, 1.9, 4.4, 0.0],
      [0.6, 0.0, 0.3, 0.0, 3.1, 0.0, 0.0],
      [0.7, 1.7, 0.6, 2.6, 2.2, 6.2, 0.0],
      [1.3, 1.2, 0.0, 0.0, 0.0, 3.2, 5.1],
      [0.1, 2.0, 0.0, 1.4, 0.0, 1.9, 6.3]
   ]
)
trace = go.Heatmap(
   x = vegetables,
   y = farmers,
   z = harvest,
   type = 'heatmap',
   colorscale = 'Viridis'
)
data = [trace]
fig = go.Figure(data = data)
iplot(fig)

Вывод вышеупомянутого кода выглядит следующим образом -