"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como criar um objeto Axessubplot reutilizável no Matplotlib?

Como criar um objeto Axessubplot reutilizável no Matplotlib?

Postado em 2025-04-16
Navegar:945

How Can I Create Reusable AxesSubplot Objects in Matplotlib?

criando objetos reutilizáveis ​​AxessubPlot em matplotlib

matplotlib fornece o método figura.add_subplot como a abordagem padrão para adicionar objetos de axlessubPLOT a uma figura. Embora isso seja eficaz, pode haver cenários em que a criação de objetos AxessubPlot independentemente da figura seja desejável. Por exemplo:

def plot (x, y, ax = nenhum): Se o machado não for: ax = plt.gca () # Obtenha a instância atual dos eixos (padrão) Ax.Plot (x, y, 'vá') ax.set_ylabel ('yabba dabba do!')

def plot(x, y, ax=None):
    if ax is None:
        ax = plt.gca()  # Get the current axes instance (default)
    ax.plot(x, y, 'go')
    ax.set_ylabel('Yabba dabba do!')

Além disso, as instâncias dos eixos podem ser anexadas às figuras existentes, permitindo reutilização:

# Create a figure with two subplots
fig1, (ax1, ax2) = plt.subplots(nrows=2)
plot(x, np.sin(x), ax1)  # Use the first axes instance
plot(x, np.random.random(100), ax2)  # Use the second axes instance

# Create a new figure
fig2 = plt.figure()
plot(x, np.cos(x))  # Use the new figure's axes instance

plt.show()

Embora seja possível personalizar ainda mais a instância dos eixos para ajustar "formas específicas", a facilidade de transmitir instações ou listas de instâncias de figuras e eixos é geralmente mais prática e eficiente para cenários complexos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3