当前位置:网站首页>Yyds Dry Inventory Drawing with matplotlib Library (i)

Yyds Dry Inventory Drawing with matplotlib Library (i)

2021-11-25 17:46:15 Viens, pastèque.

      Une image vaut mille mots,UtilisationPythonDansMatplotlibLa bibliothèque peut créer une image de haute qualité en quelques lignes de code.Qu'il s'agisse d'un article ou d'un rapportpptMoyenne,Toutes ces images vont nous éclairer,Comprendre rapidement le cœur du problème.

      Et pourtant,MatplotlibLa bibliothèque est assez grande,Pour créer un diagramme qui semble juste, il faut souvent le répéter.Bien qu'un flux de ligne de code puisse facilement générer quelques graphiques de base,Mais comment utiliser intelligemment le reste de la Bibliothèque98%La fonction n'est pas simple.

      Cet article présenteMatplotlibUtilisation de la Bibliothèque,Horizontal du niveau d'entrée au niveau moyen,Où les connaissances théoriques et les expériences sont entrelacées,Rendre les lecteurs plus compréhensiblesMatplotlibPrincipes et fonctionnement de la Bibliothèque.

Cet article suppose que les lecteurs ont déjà compris un peunumpyConnaissances,Utilisernumpy.randomPrincipalement pour produire des données d'échantillon,Faciliter le prélèvement d'échantillons à partir de différentes distributions statistiques.

1、Un mal de têteMatplotlibBibliothèque

      Parfois apprendreMatplotlibLa bibliothèque est un processus douloureux,Le problème n'est pas qu'il y ait trop peu d'informations,En fait, il y a beaucoup d'informations à ce sujet.Voici quelques raisons pour lesquelles les gens ont du mal à apprendre:

      1)La Bibliothèque elle - même est grande,Y compris plus de70000Code de ligne;

      2)Matplotlib Avec une variété d'interfaces différentes(La façon dont les graphiques sont construits),Et capable d'interagir avec quelques backends différents. ( Processus d'arrière - plan pour traiter le rendu réel du diagramme , Et pas seulement une structure interne )

      3) Bien qu'il soit complet ,Mais... Matplotlib Certains de ses propres documents publics sont très obsolètes . La Bibliothèque continue d'évoluer , De nombreux anciens exemples circulant sur le Web pourraient être réduits dans leur version moderne 70% Lignes de code pour.

      Donc,, Avant d'entrer dans un magnifique exemple ,Maîtrise Matplotlib Les concepts de base du design sont utiles .

2、Pylab:Qu'est - ce que c'est?, Dois - je l'utiliser ?

      Commençons par une histoire :Neurobiologiste John D. Hunter À 2003 Le développement a commencé vers Matplotlib, L'inspiration originale était la simulation Mathworks De MATLAB Commandes dans le logiciel .John À 2012 Malheureusement décédé en,Les années 44 Année,Matplotlib Il s'agit maintenant d'un projet communautaire à part entière , Développé et entretenu par beaucoup d'autres .

MATLAB Une propriété connexe de est son style global . Importé Python Le concept est MATLAB Il n'y a pas beaucoup d'utilisation ,Et MATLAB La plupart des fonctionnalités de .

      Je sais Matplotlib Originaire de MATLAB Aide à expliquer pourquoi pylab Existe. pylab - Oui. Matplotlib Un module dans la Bibliothèque ,Conçu pour imiter MATLAB Le style global de . Il n'existe que pour NumPy Et matplotlib De nombreuses fonctions et classes dans l'espace de noms , Avant de ne pas s'habituer à la nécessité d'importer des déclarations MATLAB Transition facile pour les utilisateurs .

Habitué à utiliser MATLAB Les utilisateurs de ,Parce que l'utilisation from pylab import *, Ils peuvent être comme MATLAB Appeler directement comme dans plot() Ou array() .

Voici quelques questions sur Python Cela pourrait être évident pour l'utilisateur : Utiliser dans une session ou un script from pylab import * C'est souvent une mauvaise pratique. Matplotlib Maintenant, dans son propre tutoriel, il recommande directement de ne pas le faire :

“[pylab] still exists for historical reasons, but it is highly advised not to use. It pollutes namespaces with functions that will shadow Python built-ins and can lead to hard-to-track bugs. To get IPython integration without imports the use of the %matplotlib magic is preferred.” 

      À l'intérieur, En bref pylab Un grand nombre d'importations potentiellement conflictuelles sont cachées dans la source . En fait,Utiliser ipython --pylab( Du terminal /Ligne de commande)Ou %pylab(De IPython/Jupyter Outils) Il suffit d'appeler en arrière - plan from pylab import * C'est tout..

En fin de compte, matplotlib Ce module pratique a été abandonné , Il est maintenant clairement recommandé de ne pas utiliser pylab, Pour rendre les choses plus compatibles Python Un concept clé de : Plus explicite que implicite .

Pas besoin. pylab, Nous pouvons généralement importer en utilisant une seule spécification :

import matplotlib.pyplot as plt

      Dans ce processus, Nous importons également NumPy, Nous l'utiliserons plus tard pour générer des données ,Et appelle np.random.seed() Faire en sorte que l'échantillon ait (Faux) Les données aléatoires peuvent être reproduites :

import numpy as np

np.random.seed(444)

3、Matplotlib Hiérarchie des objets

      matplotlib L'un des concepts les plus importants est sa hiérarchie d'objets . Si vous avez étudié l'introduction matplotlib Tutoriels, Vous avez peut - être déjà appelé quelque chose comme ça. plt.plot([1, 2, 3]) Quelque chose. Cette seule ligne cache le fait que , C'est - à - dire que le dessin est en fait imbriqué Python Hiérarchie des objets. Ici.“Hiérarchie” Ça veut dire qu'il y a un matplotlib Structure arborescente de l'objet .

      Figure Objet: matplotlib Le conteneur extérieur du graphique ,Il peut contenir plusieurs Axes Objet. Une source de confusion est le nom :Axes En fait, il se traduit par ce que nous considérons comme un dessin ou un graphique unique ( Au lieu de ce que nous attendions “Axe” Au pluriel de ).

      Vous pouvez Figure L'objet est considéré comme un conteneur en forme de boîte ,Contient un ou plusieurs Axes( Dessin réel ). Dans la hiérarchie, il y a des objets plus petits sous l'axe , Par exemple, la ligne d'échelle 、Une seule ligne、 Légende et zone de texte . Presque tous les graphiques “Élément” C'est sa propre opération Python Objet, Jusqu'à l'échelle et l'étiquette : 

#yydsInventaire des marchandises sèches#UtilisationMatplotlibDessin de la bibliothèque(Un.)_Données

      Voici un exemple de diagramme de cette hiérarchie . Si vous n'êtes pas tout à fait familier avec cette représentation ,Ne vous inquiétez pas., Nous vous présenterons plus tard :

fig, _ = plt.subplots()

type(fig)

<class ‘matplotlib.figure.Figure'>

      Là - haut,Nous utilisons plt.subplots() Deux variables ont été créées . Le premier est le top Figure Objet. La deuxième chose dont nous n'avons pas encore besoin “Une fois”Variables, Soulignez . Utiliser la notation des attributs , Il est facile de traverser la hiérarchie graphique et de voir le premier Axes Objet y Première échelle de l'axe :

one_tick = fig.axes[0].yaxis.get_major_ticks()[0]

type(one_tick)

<class ‘matplotlib.axis.YTick'>

      Là - haut, fig (Un Figure Exemple de classe)Il y en a plusieurs. Axes (Une liste, Prenons le premier élément ). Chaque Axes Il y en a un yaxis Et xaxis, Chacun a un “ Échelle principale ”Collection de, On prend le premier .

      Matplotlib Présenter comme anatomie humaine , Au lieu d'une hiérarchie Claire :

 #yydsInventaire des marchandises sèches#UtilisationMatplotlibDessin de la bibliothèque(Un.)_Hiérarchie_02












版权声明
本文为[Viens, pastèque.]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/11/20211125174441113U.html

随机推荐