Plotly - Mapa de Calor

Um mapa de calor (ou mapa de calor) é uma representação gráfica de dados em que os valores individuais contidos em uma matriz são representados como cores. O objetivo principal dos mapas de calor é visualizar melhor o volume de locais / eventos em um conjunto de dados e ajudar a direcionar os visualizadores para as áreas de visualizações de dados que mais importam.

Por causa de sua dependência da cor para comunicar valores, os Mapas de Calor são talvez mais comumente usados ​​para exibir uma visão mais generalizada dos valores numéricos. Os mapas de calor são extremamente versáteis e eficientes para chamar a atenção para tendências e é por esses motivos que eles se tornaram cada vez mais populares na comunidade analítica.

Os mapas de calor são naturalmente autoexplicativos. Quanto mais escura a tonalidade, maior a quantidade (quanto maior o valor, mais estreita a dispersão, etc.). O módulo graph_objects do Plotly contémHeatmap()função. Precisa de x,y e zatributos. Seu valor pode ser uma lista, matriz numpy ou dataframe Pandas.

No exemplo a seguir, temos uma lista ou matriz 2D que define os dados (colheita por diferentes agricultores em toneladas / ano) para o código de cores. Em seguida, também precisamos de duas listas de nomes de agricultores e vegetais cultivados por eles.

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)

A saída do código acima mencionado é dada da seguinte forma -