In diesem Artikel wird hauptsächlich die Methode von Python vorgestellt, die die Pylab-Bibliothek verwendet, um die Strichzeichnungsfunktion zu realisieren. Er analysiert die Betriebsfähigkeiten von Python mithilfe der relevanten Funktionen der Pylab-Bibliothek, um die Strichzeichnungsfunktion anhand spezifischer Beispiele zu realisieren erklärt die zugehörigen Funktionen und Parameterfunktionen. Freunde in Not können sich auf
beziehen. Dieser Artikel beschreibt das Beispiel für die Verwendung der Pylab-Bibliothek zum Implementieren der Strichzeichnungsfunktion in Python. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
pylab bietet eine relativ leistungsstarke Zeichenfunktion, aber es gibt viele Funktionen und Parameter, die leicht zu Verwirrung führen. Was wir normalerweise am häufigsten verwenden, ist das Zeichnen von Strichen. Im Folgenden sind einige häufig verwendete Strichzeichnungsfunktionen zur einfacheren Verwendung einfach gekapselt.
# -*- 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()
Die Darstellung der Operation ist wie folgt:
Anhang: Zitiert aus : https ://sites.google.com/site/guyingbo/matplotlib%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0
Zeilenattribute:
Farbe (abgekürzt als c):
Blau: 'b' (blau)
Grün: 'g' (grün)
Rot: 'r' (rot)
Cyan (Dunkelgrün): 'c' (Cyan)
Rotviolett (Magenta): 'm' (Magenta)
Gelb: 'y' (Gelb)
Schwarz: 'k' (Schwarz)
Weiß: „w“ (weiß)
Graustufendarstellung: z. B. 0,75 (jede Gleitkommazahl innerhalb von [0,1])
RGB-Darstellung: z. B. „#2F4F4F“ oder (0,18, 0,31, 0,31)
Jede zulässige Farbdarstellung in HTML: z. B. „red“, „darkslategray“
Linienstil (Linienstil abgekürzt als ls):
Durchgezogene Linie: „-“
Gepunktete Linie: „- -'
Gepunktete Linie: '-.'
Gepunktete Linie: ':'
Punkt: '.'
Punkttyp (Markierung):
Pixel: ','
Kreis: 'o'
Oberes Dreieck: '^'
Unteres Dreieck: 'v'
Linkes Dreieck: '<'
Rechtes Dreieck: '> '
Quadratische Form : 's'
Pluszeichen: '+'
Gabelform: 'x'
Prismenform: 'D'
Dünne Prismenform: 'd'
Stativ nach unten: '1' (das ist 丫)
Stativ nach oben zeigend: „2“
Stativ nach links zeigend: „3“
Stativ nach rechts zeigend: „4“
Sechseckig: „h“
Sechseck drehen: „H '
Fünfeck: 'p'
Vertikale Linie: '|'
Horizontale Linie: '_'
Schritte in Gnuplot: 'Schritte' (kann nur kwarg verwendet werden)
Markergröße ( markersize abgekürzt als ms):
markersize: reelle Zahl
Breite der Markierungskante (markeredgewidth abgekürzt als mew):
markeredgewidth: reelle Zahl
mark Edge color (markeredgecolor abgekürzt als mec ):
markerfacecolor: beliebiger Wert in der Farboption
Markerflächenfarbe (markerfacecolor abgekürzt als mfc):
markerfacecolor: beliebiger Wert in der Farboption
Transparenz (Alpha) :
Alpha: Gleitkommazahl zwischen [0,1]
Linienbreite (Linienbreite):
Linienbreite: reelle Zahl
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Linienzeichnungsfunktion von Python basierend auf der Pylab-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!