Advanced plotting
- Moving to object-based plotting
- Figure size
- Placing Axes
- Twin axes
- Controlling the appearance of plots
- rc parameters
- Adding a legend
- Adding a colorbar
- Custom ticks and labels
- Artists, Patches, and Lines
stackoverflow
How do I draw a grid onto a plot in Python? [closed]
Set figure object to bounding box of fig.get_tightbbox()
Definition of matplotlib.pyplot.axes.bbox
Backend
Usage Guide – Backends
matplotlib.use required before other imports clashes with pep8. Ignore or fix?
import matplotlib matplotlib.use('GTK3Cairo') # noqa import matplotlib.pyplot as plt
TkCairo GTK3Agg GTK3Cairo
ValueError: Unrecognized backend string 'gtk': valid strings are ['GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template']
LaTex
$ sudo apt-get install texlive texlive-lang-german texlive-latex-extra $ sudo apt-get install dvipng $ sudo apt-get install ghostscript-x
Text rendering With LaTeX
Text rendering With LaTeX
How do I write a Latex formula in the legend of a plot using Matplotlib inside a .py file?
Text rendering with LaTeX
Rendering math equations using TeX
\displaystyle
\displaystyle works: GTK3Agg doesn't work: GTK3Cairo, TkCairo
Convert to PostScript / PDF
Poppler, a PDF rendering library
Xpdf, an open source viewer for Portable Document Format (PDF) files
Zoom
class FigureManagerQT(FigureManagerBase): def __init__(self, canvas, num): self.window = MainWindow() super().__init__(canvas, num) self.window.closing.connect(canvas.close_event) self.window.closing.connect(self._widgetclosed) image = str(cbook._get_data_path('images/matplotlib.svg')) self.window.setWindowIcon(QtGui.QIcon(image)) self.window._destroying = False self.toolbar = self._get_toolbar(self.canvas, self.window) self.window.setCentralWidget(self.canvas) # [...] if self.toolbar: self.window.addToolBar(self.toolbar) tbs_height = self.toolbar.sizeHint().height() def _get_toolbar(self, canvas, parent): # must be inited after the window, drawingArea and figure # attrs are set if mpl.rcParams['toolbar'] == 'toolbar2': toolbar = NavigationToolbar2QT(canvas, parent, True) elif mpl.rcParams['toolbar'] == 'toolmanager': toolbar = ToolbarQt(self.toolmanager, self.window) else: toolbar = None return toolbar class NavigationToolbar2QT(NavigationToolbar2, QtWidgets.QToolBar): def __init__(self, canvas, parent, coordinates=True): # [...] for text, tooltip_text, image_file, callback in self.toolitems: if text is None: self.addSeparator() else: a = self.addAction(self._icon(image_file + '.png'), text, getattr(self, callback)) self._actions[callback] = a if callback in ['zoom', 'pan']: a.setCheckable(True) if tooltip_text is not None: a.setToolTip(tooltip_text) # [...]
def drawRectangle(self, rect): # Draw the zoom rectangle to the QPainter. _draw_rect_callback needs # to be called at the end of paintEvent. # Toolbar Zoom Button Click class NavigationToolbar2QT(NavigationToolbar2, QtWidgets.QToolBar): [...] def zoom(self, *args): super().zoom(*args) self._update_buttons_checked() [...]
Tooltip / Annotation
Tooltips with Python’s Matplotlib
How to add hovering annotations to a plot
Pick Event
click data on/off in legend python scatterplot
Is it possible to use matplotlib legend picker selecting legend text area not legend line?
matplotlib — interactively select points or locations?
Legend Picking
Pick Event Demo