---
name: heatmap
kind: component
lang: cpp
domain: viz
version: "1.0.0"
purity: pure
signature: "void heatmap(const char* title, const float* values, int rows, int cols, float scale_min, float scale_max)"
description: "Renderiza un mapa de calor 2D usando ImPlot dentro de un frame ImGui"
tags: [implot, chart, visualization, gpu, heatmap, matrix]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: [implot]
tested: false
tests: []
test_file_path: ""
file_path: "cpp/functions/viz/heatmap.cpp"
framework: imgui
params:
  - name: title
    desc: "Titulo del heatmap"
  - name: values
    desc: "Array de valores en orden row-major (values[row * cols + col])"
  - name: rows
    desc: "Numero de filas de la matriz"
  - name: cols
    desc: "Numero de columnas de la matriz"
  - name: scale_min
    desc: "Valor minimo de la escala de color (0 para autodetectar)"
  - name: scale_max
    desc: "Valor maximo de la escala de color (0 para autodetectar)"
output: "Renderiza el heatmap en el frame ImGui actual"
notes: "consumido por cpp/apps/chart_demo/main.cpp; scaffolding/demo en primitives_gallery"
---

# heatmap

Wrapper atomico sobre `ImPlot::PlotHeatmap`. Renderiza una matriz de valores como mapa de calor con escala de color.

Los datos deben estar en formato row-major. Si `scale_min` y `scale_max` son ambos 0, ImPlot autodetecta el rango.
