Define gráficos KPI usando altair
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 12.0Añade un tipo de widget "Altair" a los elementos del panel de KPI, permitiendo a los usuarios crear gráficos interactivos con la librería Altair/Vega-Lite y mostrarlos en los paneles de Odoo.
Este módulo amplía la funcionalidad del panel de KPI para que un KPI pueda mostrarse como un gráfico de Altair en lugar de los tipos de widget estándar.
- En un registro de KPI (
kpi.kpi) aparece una nueva opción "Altair" en el selector de widget. - Cuando se elige esa opción, el código Python que calcula el KPI recibe objetos adicionales (
json,altairypandas) para que el gráfico pueda construirse con Altair y devolverse como JSON. - En el panel, el gráfico se renderiza dentro del área del widget usando las librerías JavaScript Vega, Vega-Lite y Vega-Embed, que se cargan en los assets del backend.
- El gráfico se redimensiona automáticamente para ajustarse al ancho y alto del widget, y el menú de acciones de Vega está oculto.
- Se incluyen un KPI y un elemento de panel de demostración para mostrar un ejemplo de gráfico de barras.
El módulo requiere que la librería Python altair (y pandas) esté instalada en el servidor. Depende de kpi_dashboard y solo modifica el modelo kpi.kpi y los assets de renderizado del panel.
Depende de
Modelos y campos (1)
- kpi.kpi · amplía un modelo existentewidget
Texto generado por IA (DeepSeek) al leer el código de la versión 12.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 12.0
Confirmado el 2026-11-03 en la rama 12.0 de OCA/reporting-engine.
terminal Instalación y uso
Documentación de OCA · Odoo 12.0Configuración
Fuente · Odoo 12.0Configurar KPIs
#. Access `Dashboards > Configuration > KPI Dashboards > Configure KPI`
#. Create a new kpi with widget `altair`
You need to define a function like::
import pandas
import altair
class Kpi(models.Model):
_inherit = 'kpi.kpi'
def test_demo_altair(self):
source = pandas.DataFrame(
{
"a": ["A", "B", "C", "D", "E", "F", "G", "H", "I"],
"b": [28, 55, 43, 91, 81, 53, 19, 87, 52],
}
)
chart = altair.Chart(source).mark_bar().encode(x="a", y="b")
return {"altair": json.loads(chart.to_json())}
You can use `code` in a similar way, as `pandas` and `altair` are already defined
when using `code` on an `altair` widget.
.. image:: ../static/description/config.pngTraducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Uso.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.