Suggestions for plotting library to use for Panel project?

I was hoping someone could direct me in the right direction.

I’m a climate scientist and as part of a new project we’re building a dashboard. We’d like to then deploy this via an open/public webpage.

I assumed we’d use Panel+Bokeh but since I last looked into Panel it seems the ecosystem has grown a lot and there are many more plotting libraries available.

  • We’ll be plotting maps and time series data.
  • They need to be interactive widgets where the user can select various options.
  • It needs to be deployable via a webserver

Is there anything I need to take into consideration when deciding on what plotting library to use?

I assume I can mix libraries in a single dashboard? Or is that a bad idea? If we want a webserver deployment, is Bokeh really the best option still?

1 Like

Hi @rjp23

HoloViz/ hvPlot and Bokeh is probably the best supported in our community. So it’s the safe choice. Also if you need more specialized geographic support or big data viz it would probably be the best choice.

But Plotly plots are also very nice and well supported. So if your team is already familiar with them and you know they can solve your use case then I would stick to with them.

For geo use cases you can also use ipyleaflet. And if you need something really custom that Leaflet provides you can sprinkle in a bit of javascript via Panels ReactiveHTML.

Vega/ Altair might also be an option but it will not events before the next release of Panel 0.13

Echarts events is work in progress and I don’t know and if they will become a part of Panel.

Regarding mixing frameworks technically there is no problem but there are some cons

  • Your users would have to relate to different user interfaces
  • Each framework provides their own solutions for laying out multiple plots and making them interact with shared axes, cross filtering etc. which might not work across.
  • And you would have to learn different frameworks.

So personally I would chose one primary framework and use the other ones when they provide something unique and needed.

1 Like

Thanks! That’s really helpful.

So impressed with how the whole pyviz ecosystem has grown in the last few years!

1 Like