Maison >développement back-end >Tutoriel Python >Comment puis-je créer des sous-parcelles Matplotlib avec des tailles configurables de manière flexible ?
La création de sous-parcelles de différentes tailles est une exigence courante lors de la visualisation de données. Matplotlib propose deux approches pour ajuster les dimensions des sous-parcelles : en utilisant GridSpec ou en configurant la figure elle-même.
Utiliser la figure de Matplotlib pour le dimensionnement des sous-parcelles
Dans l'exemple fourni, la tâche consiste à créer deux sous-parcelles avec la première sous-parcelle trois fois plus large que la seconde. À l'aide du constructeur de la figure, la taille du premier tracé peut être ajustée à l'aide de l'argument figsize. Cependant, la taille du deuxième tracé ne peut pas être directement contrôlée de cette façon.
Solution avec arguments de mots clés (Matplotlib >= 3.6.0)
À partir de la version Matplotlib 3.6.0, les arguments de mots-clés peuvent être transmis directement à plt.subplots et subplot_mosaic pour spécifier les width_ratios ou height_ratios des sous-parcelles. Cela élimine le besoin de GridSpec pour cette tâche spécifique.
import matplotlib.pyplot as plt # Create subplots with custom width ratios f, (a0, a1) = plt.subplots(1, 2, width_ratios=[3, 1]) # Plot on subplots a0.plot(x, y) a1.plot(y, x) # Save to PDF f.savefig('custom_width_subplots.pdf')
Utilisation de sous-plots avec Gridspec_kw
Pour les versions antérieures de Matplotlib, ou pour un contrôle plus précis sur disposition des sous-intrigues, la fonction subplots avec l'argument gridspec_kw peut être utilisée. Cette approche implique la création d'une figure et de sous-parcelles individuelles, spécifiées avec width_ratios ou height_ratios dans le dictionnaire gridspec_kw.
import numpy as np import matplotlib.pyplot as plt # Generate data x = np.arange(0, 10, 0.2) y = np.sin(x) # Create subplots with custom width ratios f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]}) # Plot on subplots a0.plot(x, y) a1.plot(y, x) # Tighten layout and save to PDF f.tight_layout() f.savefig('grid_figure.pdf')
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!