
Python Graph Gallery - sebst
https://python-graph-gallery.com/
======
Dowwie
Check out plotly for general graphing use and bokeh for heavy loads.

An exhaustive list of dataviz libraries is maintained at
[https://github.com/fasouto/awesome-
dataviz](https://github.com/fasouto/awesome-dataviz)

For Python:

    
    
      * altair - Declarative statistical visualizations, based on Vega-lite.
      * bokeh - Interactive Web Plotting for Python.
      * diagram - Text mode diagrams using UTF-8 characters
      * ggplot - plotting system based on R's ggplot2.
      * glumpy - OpenGL scientific visualizations library.
      * holoviews - Complex and declarative visualizations from annotated data.
      * matplotlib - 2D plotting library.
      * missingno - provides flexible toolset of data-visualization utilities that allows quick visual summary of the completeness of your dataset, based on matplotlib.
      * plotly - Interactive web based visualization built on top of plotly.js
      * plotnine - A grammar of graphics for Python
      * pygal - A dynamic SVG charting library.
      * PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
      * seaborn - A library for making attractive and informative statistical graphics.
      * toyplot - The kid-sized plotting toolkit for Python with grownup-sized goals.
      * Veusz - https://veusz.github.io
      * VisPy - High-performance scientific visualization based on OpenGL.

~~~
radarsat1
Does anyone know of a good _non-blocking_ plotting library for Python?

I find that for some applications matplotlib really slows down my loops, but
there are times that I really need to visualize the in-progress computations.
While some other libraries might be faster, what I really want is simply to
send instructions and data to a separate process that is performing the
plotting. I'd like it to completely render a frame and simply skip
instructions for following frames until it's done rendering, avoid buffering
up every single frame that is sent to it, and have it plot the next available
frame when it's done. I have yet to see a library that functions this way.
Basically I want to be able to easily visualize an on-going computation
without _blocking_ it just for the rendering of temporary results.

~~~
edraferi
Bokeh supports streaming data to existing graphs. This lets you define a
graph, display it in a browser, and then push updates from your code. This is
a lot lighter than doing a full draw in matplotlib, plus works over the web.

Here's an intro blog post from 2013 [0] and a current tutorial [1]. This
functionality depends on Bokeh Server, docs here [2]

[0] [https://www.anaconda.com/developer-blog/painless-
streaming-p...](https://www.anaconda.com/developer-blog/painless-streaming-
plots-bokeh/)

[1] [http://nbviewer.jupyter.org/github/bokeh/bokeh-
notebooks/blo...](http://nbviewer.jupyter.org/github/bokeh/bokeh-
notebooks/blob/master/tutorial/11%20-%20Running%20Bokeh%20Applictions.ipynb#Streaming-
Data)

[2]
[https://bokeh.pydata.org/en/latest/docs/user_guide/server.ht...](https://bokeh.pydata.org/en/latest/docs/user_guide/server.html)

~~~
Dowwie
coincidentally:
[https://news.ycombinator.com/item?id=15483264](https://news.ycombinator.com/item?id=15483264)

------
edraferi
Very cool resource, thanks for putting it out there. Noticed a couple areas
for improvement:

 _Contribution instructions:_ Per the contributors page, it looks like an
email is the way to go [0]. It would be nice to be able to run the standard
Github workflow, but the relevant repo seems abandoned [1]

 _Site performance:_ The site looks good and has strong content, but loads
slowly & inconsistently. (could just be the hug of death). Chrome warns the
page is loading unauthenticated resources. I suggest you look at using a
static website deployed to a CDN. Github pages, Netlify [2], etc are
reasonable ways to do that. If you want comments, you can do that on Github.

[0] [https://python-graph-gallery.com/contributors/](https://python-graph-
gallery.com/contributors/) [1] [https://github.com/holtzy/The-Python-Graph-
Gallery](https://github.com/holtzy/The-Python-Graph-Gallery) [2]
[https://www.netlify.com/](https://www.netlify.com/)

------
plafl
This is great! I will bookmark it. I really like two things: first, the
progression from simple to more complex figures. Matplotlib's documentation
has the tendency to give very complicated examples. Second I think it's great
it spans several libraries.

------
fnord123
bad charts link is broken.

Missing gantt charts. These are good for plotting logs in distributed systems
so you can line up the events. Sadly you have to use hbox in matplotlib which
isn't ideal (but it works).

~~~
fnord123
bad charts link was fixed.

Gantt charts can be done using the lollipop example: [https://python-graph-
gallery.com/184-lollipop-plot-with-2-gr...](https://python-graph-
gallery.com/184-lollipop-plot-with-2-groups/)

------
lincolnfrias
Awesome. Very useful resource.

------
hathym
looks awesome, thank you

------
omegote
Aaaand it's gone.

~~~
krock
looks like it's back

~~~
dagurp
And gone again

~~~
Toenex
Back and yet gone too. HN effect in full effect.

