Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mp-007/kivy_matplotlib_widget
A fast matplotlib rendering for Kivy based on Kivy_matplotlib project and kivy scatter. Matplotlib used 'agg' backend
https://github.com/mp-007/kivy_matplotlib_widget
interactive kivy matplotlib
Last synced: 7 days ago
JSON representation
A fast matplotlib rendering for Kivy based on Kivy_matplotlib project and kivy scatter. Matplotlib used 'agg' backend
- Host: GitHub
- URL: https://github.com/mp-007/kivy_matplotlib_widget
- Owner: mp-007
- License: mit
- Created: 2021-11-27T01:35:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-29T19:56:09.000Z (25 days ago)
- Last Synced: 2024-12-08T09:02:17.667Z (16 days ago)
- Topics: interactive, kivy, matplotlib
- Language: Python
- Homepage:
- Size: 657 KB
- Stars: 35
- Watchers: 2
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# kivy_matplotlib_widget
A fast matplotlib rendering for Kivy based on Kivy_matplotlib project (https://github.com/jeysonmc/kivy_matplotlib) and kivy scatter. Hover option is also based on the algorithm from mplcursors project (https://github.com/anntzer/mplcursors). Matplotlib used 'agg' backend# How to use
install with pip install (just import module in your header to register all the widgets in your kivy Factory: import kivy_matplotlib_widget)
```
pip install kivy-matplotlib-widget
```
You can also copy the needed widget in projectSee examples for more informations
# Available tool
convert any matplotlib figure into kivy interactive graph with only 2 lines in your ipython console
```
from kivy_matplotlib_widget.tools.interactive_converter import interactive_graph_ipythoninteractive_graph_ipython(fig) #fig is your matplotlib figure instance
```
See interactive_converter folder in the examples for more details.# key features
- zoom with 2 fingers or mouse scroll
- pan with 1 finger or mouse left click
- zoom box like plotly library
- reset axis on double-click (home button)
- fast rendering mode (axis not updated for faster draw)
- use only 2 packages (kivy + matplotlib) and no additional backend
- matplotlib cursor and kivy hover option (touch or desktop mode)
- legend widget like plotly library
- interactive axis like plotly library
- min/max touch option to easily change axis limit
- autoscale option
- several selectors widget (rectangle, lasso, ellipse and span)![image](https://github.com/mp-007/kivy_matplotlib_widget/assets/19823482/7709886e-0891-4fb7-a95d-eee790a6c57c)