Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/h2oai/nitro-matplotlib
Matplotlib plugin for H2O Nitro
https://github.com/h2oai/nitro-matplotlib
apps charting-library charts data-visualization h2o-nitro matplotlib plugin python visualization
Last synced: about 2 months ago
JSON representation
Matplotlib plugin for H2O Nitro
- Host: GitHub
- URL: https://github.com/h2oai/nitro-matplotlib
- Owner: h2oai
- License: apache-2.0
- Created: 2022-05-29T23:48:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-27T15:54:32.000Z (almost 2 years ago)
- Last Synced: 2024-09-17T15:17:23.726Z (4 months ago)
- Topics: apps, charting-library, charts, data-visualization, h2o-nitro, matplotlib, plugin, python, visualization
- Language: Python
- Homepage: https://nitro.h2o.ai/plugins/
- Size: 533 KB
- Stars: 3
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Matplotlib plugin for H2O Nitro
This plugin lets you use [Matplotlib](https://matplotlib.org/stable/index.html)
and [Seaborn](https://seaborn.pydata.org/) visualizations in [Nitro](https://github.com/h2oai/nitro) apps.**Warning: Try to avoid pyplot in web apps!** pyplot maintains references to the opened figures to make show() work, but
this will cause memory leaks unless the figures are properly closed[^1].[^1]: See [Matplotlib docs on embedding](https://matplotlib.org/3.5.0/gallery/user_interfaces/web_application_server_sgskip.html)
## Demo
### Matplotlib
![Matplotlib](demo_matplotlib.gif)
[View source](examples/matplotlib_basic.py).
### Seaborn
![Seaborn](demo_seaborn.gif)
[View source](examples/seaborn_basic.py).
## Install
```
pip install h2o-nitro-matplotlib
```## Usage
1. Import the plugin:
```py
from h2o_nitro_matplotlib import matplotlib_plugin, matplotlib_box
```2. Register the plugin:
```py
nitro = View(main, title='My App', caption='v1.0', plugins=[matplotlib_plugin()])
```3. Use the plugin:
```py
# Make a figure:
x = np.linspace(0, 2, 100) # Sample data.
fig = Figure()
ax = fig.subplots()
ax.plot(x, x, label='linear') # Plot some data on the axes.
ax.plot(x, x ** 2, label='quadratic') # Plot more data on the axes...
ax.plot(x, x ** 3, label='cubic') # ... and some more.
ax.set_xlabel('x label') # Add an x-label to the axes.
ax.set_ylabel('y label') # Add a y-label to the axes.
ax.legend() # Add a legend.# Display the figure:
view(matplotlib_box(fig))
```## Change Log
- v0.2.1 - Jun 09, 2022
- Fixed
- Don't return value from plots.
- v0.2.0 - May 30, 2022
- Added
- Use global pyplot if a figure is not passed (for Seaborn support).
- v0.1.0 - May 29, 2022
- Initial Version