Skip to content

A fast matplotlib rendering for Kivy based on Kivy_matplotlib project and kivy scatter. Matplotlib used 'agg' backend

License

Notifications You must be signed in to change notification settings

vincele/kivy_matplotlib_widget

 
 

Repository files navigation

kivy_matplotlib_widget

A fast matplotlib rendering for Kivy based on Kivy_matplotlib project and kivy scatter. Hover option is also based on the algorithm from mplcursors project. Matplotlib used 'agg' backend

Documentation

See documentation here

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 project

See examples for more informations

Available tool

Convert any matplotlib 2D figure into kivy interactive graph with only 2 lines in your ipython console

from kivy_matplotlib_widget.tools.interactive_converter import interactive_graph_ipython

interactive_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)
  • 3D graph with cursor, figure pan and figure zoom
  • copy figure to clipboard

image

About

A fast matplotlib rendering for Kivy based on Kivy_matplotlib project and kivy scatter. Matplotlib used 'agg' backend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%