Sottoclassi di figure personalizzate #

Puoi passare una Figuresottoclasse a pyplot.figurese vuoi cambiare il comportamento predefinito della figura.

Questo esempio definisce una Figuresottoclasse WatermarkFigureche accetta un parametro aggiuntivo watermarkper visualizzare un testo di filigrana personalizzato. La figura viene creata utilizzando il FigureClassparametro di pyplot.figure. Il watermarkparametro aggiuntivo viene trasmesso al costruttore sottoclasse.

import matplotlib.pyplot as plt
from matplotlib.figure import Figure
import numpy as np


class WatermarkFigure(Figure):
    """A figure with a text watermark."""

    def __init__(self, *args, watermark=None, **kwargs):
        super().__init__(*args, **kwargs)

        if watermark is not None:
            bbox = dict(boxstyle='square', lw=3, ec='gray',
                        fc=(0.9, 0.9, .9, .5), alpha=0.5)
            self.text(0.5, 0.5, watermark,
                      ha='center', va='center', rotation=30,
                      fontsize=40, color='gray', alpha=0.5, bbox=bbox)


x = np.linspace(-3, 3, 201)
y = np.tanh(x) + 0.1 * np.cos(5 * x)

plt.figure(FigureClass=WatermarkFigure, watermark='draft')
plt.plot(x, y)
classe di figura personalizzata
[<matplotlib.lines.Line2D object at 0x7f2cfafc26b0>]

Riferimenti

L'uso delle seguenti funzioni, metodi, classi e moduli è mostrato in questo esempio:

Galleria generata da Sphinx-Gallery