


Explication détaillée de la fonction de dessin au trait de Python basée sur la bibliothèque pylab
Cet article présente principalement la méthode de Python utilisant la bibliothèque pylab pour réaliser la fonction de dessin au trait. Il analyse les compétences opérationnelles de Python en utilisant les fonctions pertinentes de la bibliothèque pylab pour réaliser la fonction de dessin au trait avec des exemples spécifiques, et explique également. les fonctions et fonctions de paramètres associées. Les amis dans le besoin peuvent se référer à
Cet article décrit l'exemple d'utilisation de la bibliothèque pylab pour implémenter la fonction de dessin au trait en Python. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
pylab fournit une fonction de dessin relativement puissante, mais il existe de nombreuses fonctions et paramètres, ce qui est facile à confondre. Ce que nous utilisons habituellement le plus, c’est le dessin au trait. Ci-dessous, certaines fonctions de traçage couramment utilisées sont simplement encapsulées pour une utilisation facile.
# -*- coding: utf-8 -*- import pylab import random class MiniPlotTool : ''' A mini tool to draw lines using pylab ''' basecolors = ['red','green','yellow','blue','black','cyan','magenta'] def __init__(self, baseConfig) : self.figsize = baseConfig.get('figsize',None) self.axis = baseConfig.get('axis',None) self.title = baseConfig.get('title','NoName') self.ylabel = baseConfig.get('ylabel','NoName') self.grid = baseConfig.get('grid',False) self.xaxis_locator = baseConfig.get('xaxis_locator',None) self.yaxis_locator = baseConfig.get('yaxis_locator',None) self.legend_loc = baseConfig.get('legend_loc',0) if self.figsize != None : pylab.figure(figsize = self.figsize) if self.axis != None : pylab.axis(self.axis) pylab.title(self.title) pylab.ylabel(self.ylabel) ax = pylab.gca() pylab.grid(self.grid) if self.xaxis_locator != None : ax.xaxis.set_major_locator( pylab.MultipleLocator(self.xaxis_locator) ) if self.yaxis_locator != None : ax.yaxis.set_major_locator( pylab.MultipleLocator(self.yaxis_locator) ) self.lineList = [] self.id = 1 def addline(self, lineConf) : self.lineList.append((self.id, lineConf)) self.id += 1 return {'id' : self.id - 1} def removeline(self, lineId) : for i in range(len(self.lineList)) : id, conf = self.lineList[i] if id == lineId : del self.lineList[i] break else : return {'status' : -1} print len(self.lineList) return {'status' : 0} def __parselineConf(self, lineConf) : X = lineConf['X'] Y = lineConf['Y'] marker = lineConf.get('marker',None) color = lineConf.get('color', random.choice(MiniPlotTool.basecolors)) markerfacecolor = lineConf.get('markerfacecolor',color) label = lineConf.get('label','NoName') linewidth = lineConf.get('linewidth',1) linestyle = lineConf.get('linestyle','-') return X, Y, marker, color, markerfacecolor, label, linewidth, linestyle def plotSingleLine(self, lineConf): X, Y, marker, color, markerfacecolor, label, linewidth, linestyle = self.__parselineConf(lineConf) pylab.plot(X, Y, marker = marker, color = color, markerfacecolor = markerfacecolor, label=label, linewidth = linewidth, linestyle = linestyle) pylab.legend(loc = self.legend_loc) def plot(self) : colors = [MiniPlotTool.basecolors[i % len(MiniPlotTool.basecolors)] for i in range(len(self.lineList))] for i in range(len(self.lineList)) : id, conf = self.lineList[i] if conf.get('color',None) : conf['color'] = colors[i] X, Y, marker, color, markerfacecolor, label, linewidth, linestyle = self.__parselineConf(conf) pylab.plot(X, Y, marker = marker, color = color, markerfacecolor = markerfacecolor, label=label, linewidth = linewidth, linestyle = linestyle) pylab.legend(loc = self.legend_loc) def show(self) : pylab.show() if __name__ == '__main__' : #test baseConfig = { #'figsize' : (6,8), #'axis': [0,10,0,10], #'title' : 'hello title', #'ylabel' : 'hello ylabel', 'grid' : True, #'xaxis_locator' : 0.5, #'yaxis_locator' : 1, #'legend_loc' : 'upper right' } tool = MiniPlotTool(baseConfig) X = [ i for i in range(10)] Y = [random.randint(1,10) for i in range(10)] Y2 = [random.randint(1,10) for i in range(10)] lineConf = { 'X' : X, 'Y' : Y #'marker' : 'x', #'color' : 'b', #'markerfacecolor' : 'r', #'label' : '222', #'linewidth' : 3, #'linestyle' : '--' } lineConf2 = { 'X' : X, 'Y' : Y2, 'marker' : 'o', 'color' : 'b', 'markerfacecolor' : 'r', 'label' : '222', 'linewidth' : 3, 'linestyle' : '--' } #tool.plotSingleLine(lineConf) print tool.addline(lineConf) print tool.addline(lineConf2) #print tool.removeline(1) tool.plot() tool.show()
Le rendu de l'opération est le suivant :
Pièce jointe : Cité de : https ://sites.google.com/site/guyingbo/matplotlib%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0
Attributs de ligne :
Couleur (en abrégé c) :
Bleu : 'b' (bleu)
Vert : 'g' (vert)
Rouge : 'r' (rouge)
Cyan (vert foncé) : 'c' (cyan)
Rouge violet (magenta) : 'm' (magenta)
Jaune : 'y' (jaune)
Noir : 'k' (noir)
Blanc : 'w' (blanc)
Représentation en niveaux de gris : par exemple 0,75 (n'importe quel nombre à virgule flottante compris entre [0,1])
Représentation RVB : par exemple '#2F4F4F' ou (0,18, 0,31, 0,31)
Toute représentation légale des couleurs en HTML : par exemple 'red', 'darkslategray'
Style de ligne (style de ligne abrégé en ls) :
Ligne continue : '-'
Ligne pointillée : '- -'
Ligne pointillée : '-.'
Ligne pointillée : ':'
Point : '.'
Type de point (repère) :
pixel : ','
Cercle : 'o'
Triangle supérieur : '^'
Triangle inférieur : 'v'
Triangle gauche : '<'
Triangle droit : '> 's'
Plus : '+'
Fourche : 'x'
Prismatique : 'D'
Prisme fin : 'd'
Trépied vers le bas : '1' (c'est 丫)
Trépied face vers le haut : '2'
Trépied face à gauche : '3'
Trépied face à droite : '4'
Hexagonal : 'h'
Tourner l'hexagone : 'H'
Pentagone : 'p'
Ligne verticale : '|'
Ligne horizontale : '_'
Étapes dans gnuplot : 'steps' (ne peut être utilisé que kwarg)
taille du marqueur (taille du marqueur abrégé en ms) :
largeur du bord du marqueur (markeredgewidth en abrégé mew) :
couleur du bord de la marque (markeredgecolor en abrégé mec) :
Couleur de la face du marqueur (markerfacecolor en abrégé mfc) :
Transparence (alpha) :
Linewidth (linewidth) :
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

Solution de problème de détection de type pylance Lorsque vous utilisez un décorateur personnalisé dans la programmation Python, le décorateur est un outil puissant qui peut être utilisé pour ajouter des lignes ...

À propos de Pythonasyncio ...

Utilisation de Python dans Linux Terminal ...

Envoyer HTTP / 2 à l'aide de la bibliothèque HTTPX de Python ...

Chargement du fichier de cornichon dans Python 3.6 Erreur d'environnement: modulenotFounonError: NomoduLenamed ...

Problèmes de compatibilité entre les bibliothèques asynchrones Python dans Python, la programmation asynchrone est devenue le processus de concurrence élevée et d'E / S ...

Chargement des fichiers de cornichons dans Python 3.6 Rapport de l'environnement Erreur: modulenotFoundError: NomoduLenamed ...
