please consider the following:


I am a data scientist and I need to present results of my apps with "advanced" charts to users and stakeholders.

What I would like to have is a python-based "analytics dashboard" I can easily customize and that users can easily access and export as reports in PDF/HTML. Ideally, it should not require knowing or using javascript or other web languages as I do not have the time nor the expertise to make them work.

I ruled out BI frameworks as my BI colleagues have confirmed that the charts I need would require too much customization if done in the available BI frameworks and, at the same time, they would not exploit the drill-down capabilities of BI tools.

Current state

I have been using plotnine and jupyter notebooks so far.

The approach works well but I have been hitting at some limitations:

  • Jupyter notebooks are files which tie together code, data and interface. I would like to have more separation among those. For example, being able to load data, run the notebook and save it to a report without changing the notebook itself.

  • Jupyter notebooks provide limited GUI control capabilities. There are extensions such as ipywidgets (which I tried) and appmode that make them more app-like but I am not sure whether it is worth to use these extensions or move to a "real" web-app development framework.

  • I love the grammar of graphics of plotnine/ggplot but I need to further customize the layout and have interactive charts. Currently I cannot obtain interactive charts from plotnine.


I have evaluated some alternatives (see next section) but I am a bit lost.

I would like to know

  • if anyone had a similar problem like mine

  • what would they recommend as solution


Alternatives I have considered

Dash and Plotly


  • Plotly&Dash should be able to provide the charting and web-app capabilities I need


  • have to write the static part of the web interface as dash html object

  • dash could be incompatible with some javascript libraries. For example, in jupyter I use latex to describe the formulas of some kpis. There seems to be an issue with using latex and mathjax in dash . Indeed, I could not get it to render correctly.

  • I wish there was a tutorial helping translating plotnine/ggplot2 charts into plotly.py format (e.g. facets, layouts..).The current documentation seems bit lacking in regard.



  • interactive charts with grammar of graphics


  • likely less customizable than plotly

  • provides only charts, no support for customizing layouts and user interfaces

Markdown report generation

There are some markdown-based reporting tools like Pwave that work as Rmarkdown. I could generate a report template and then export it to html


  • separate format, data and code.

  • use markdown


  • no interactive GUI, which could be useful for users if they wanted control the charts and data to show or analyse

  • I am not sure at the moment they can handle charts generated with plotting libraries

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.