This article mainly introduces the method that Python uses Pylab library to realize the line-drawing function, and analyzes the operation skill of Python using the correlation function of Pylab library to realize the function of drawing line, with the function of correlation function and parameter, and the need of friends can refer to
The examples in this paper describe how Python uses the Pylab library to implement the line drawing function. Share to everyone for your reference, as follows:
Pylab provides powerful drawing capabilities, but functions and parameters are much more easily confused. What we usually use most is to draw a line. Below, simple to some commonly used the dash function to encapsulate, is convenient to use.
#-*-Coding:utf-8-*-import pylabimport randomclass miniplottool: ' A mini tool to draw lines using Pylab ' ' bas ecolors = [' Red ', ' green ', ' yellow ', ' blue ', ' black ', ' cyan ', ' Magenta '] def __init__ (self, baseconfig): Self.figsize = Bas Econfig.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 = basec Onfig.get (' Xaxis_locator ', none) Self.yaxis_locator = Baseconfig.get (' Yaxis_locator ', none) Self.legend_loc = baseConf Ig.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.gr ID) 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 RA Nge (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, Lin econf): 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.G ET (' 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, MA Rker = 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.basec Olors)] 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 = MARKERFACEC Olor, 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], # ' Tit Le ': ' Hello title ',# ' Ylabel ': ' Hello Ylabel ', ' grid ': True, # ' Xaxis_locator ': 0.5, # ' Yaxis_locator ': 1, # ' Legend_loc ': ' Uppe R right '} tool = Miniplottool (baseconfig) X = [I-I in range] Y = [Random.randint (1,10)-I in range (10)] Y2 = [Random.randint (1,10) for I in range] 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) #pri NT Tool.removeline (1) tool.plot () tool.show ()
Run as follows:
attached: referenced from: https://sites.google.com/site/guyingbo/matplotlib%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0
Line properties:
Color (abbreviated as C):
Blue: ' B ' (blue)
Greens: ' G ' (green)
Red: ' R ' (red)
Turquoise (dark green): ' C ' (cyan)
Red Purple (Magenta): ' m ' (magenta)
Yellow: ' Y ' (yellow)
Black: ' K '
White: ' W '
Grayscale representation: e.g. 0.75 (any floating-point number in [0,1])
RGB notation: e.g. ' #2F4F4F ' or (0.18, 0.31, 0.31)
Color representation in any valid HTML: e.g. ' red ', ' Darkslategray '
Linetype (LineStyle abbreviated to LS):
Solid line: '-'
Dashed line: '--'
Imaginary dot line: '-. '
Dot line: ': '
Point: '. '
Point type (Mark Marker):
Pixels: ', '
Circle: ' O '
Upper triangle: ' ^ '
Lower triangle: ' V '
Left triangle: ' < '
Right triangle: ' > '
Square: ' s '
Plus: ' + '
Fork shape: ' x '
Prism: ' D '
Fine prism: ' d '
Tripod facing down: ' 1 ' (yes Ya)
Tripod facing up: ' 2 '
Tripod facing left: ' 3 '
Tripod facing right: ' 4 '
Hex shape: ' H '
Rotation six angle: ' H '
V-shaped: ' P '
Vertical line: ' | '
Horizontal line: ' _ '
Steps in Gnuplot: ' Steps ' (can only be used in Kwarg)
Mark Size (Markersize abbreviated as MS):
Markersize: Real numbers
Mark Edge Width (markeredgewidth abbreviated to MEW):
Markeredgewidth: Real numbers
Mark Edge Color (markeredgecolor abbreviated to MEC):
Markeredgecolor: Any value in the color option
Mark Surface Color (markerfacecolor abbreviated to MFC):
Markerfacecolor: Any value in the color option
Transparency (Alpha):
Alpha: Floating-point number between [0,1]
Line width (linewidth):
LineWidth: Real numbers