Yo tengo algo hecho desde hace muchos años... pero que tampoco me llega a convencer. Te adjunto un pequeño ejemplo con una base de datos sqlite, que te permite hacer consultas, modificarlas a gusto y hacer gráficas de barras, de tarta y de donut.
Es bastante sensible a la consulta que hagas (adjunto una de ejemplo) y si no le cuadra, pues no te la muestra. Sólo se admiten consultas que contengan dos o tres campos, con más no funciona (ni suele ser necesario)
Dada mi supina, magnífica, y espantosa falta de conocimientos de Javascript no respondo en absoluto del tema. Tan solo indicar que si entras en el archivo Chart.js dentro de la carpeta plantillas del proyecto, puedes ver que hay un montón de cosas que se pueden configurar (si quieres animación o no, colores, fuentes, etc.).
Por último mencionar que en mi antigua empresa se utiliza en los programas de usuario, pero las consultas a las que se acceden son consultas muy medidas y hechas en su día por un servidor (o sea, yo).
Para este ejemplito, la base de datos se busca por defecto en el propio proyecto (aunque se puede cambiar) y la ubicación de las plantillas y los .js también.
En tiempo de ejecución (es decir con el programa compilado e instalado), la ubicación de las plantillas y los .js debe ser una carpeta en el disco, no dentro del proyecto, claro.
Si tienes alguna duda pregunta... y si consigues mejorarlo dímelo, que me interesa mucho.
Saludos