--- name: pie_chart kind: component lang: cpp domain: viz version: "1.0.0" purity: pure signature: "void pie_chart(const char* title, const char* const* labels, const float* values, int count, float radius = 0.0f)" description: "Renderiza un grafico circular (pie/donut) usando ImPlot PlotPieChart dentro de un frame ImGui" tags: [implot, chart, visualization, gpu, pie, donut] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [implot] tested: false tests: [] test_file_path: "" file_path: "cpp/functions/viz/pie_chart.cpp" framework: imgui params: - name: title desc: "Titulo del grafico" - name: labels desc: "Array de etiquetas para cada segmento del pie" - name: values desc: "Array de valores numericos para cada segmento" - name: count desc: "Numero de segmentos (longitud de labels y values)" - name: radius desc: "Radio del pie (0 = auto 0.4). Positivo = radio explicito. Negativo = modo donut con outer radius = |radius| e inner = 0.2" output: "Renderiza el grafico circular en el frame ImGui actual" --- # pie_chart Wrapper atomico sobre `ImPlot::PlotPieChart` con soporte para modo pie y modo donut. El eje del plot se configura con `ImPlotAxisFlags_NoDecorations` para ocultar los ejes y mostrar solo el grafico circular. El aspecto se fuerza a cuadrado con `ImPlotFlags_Equal`. **Modo pie** (`radius >= 0`): dibuja un pie chart solido. Si `radius == 0`, usa radio automatico de 0.4. **Modo donut** (`radius < 0`): usa `|radius|` como radio exterior. El agujero interior es fijo en 0.2, suficiente para texto central. Debe llamarse dentro del render callback de `fn::run_app`.