Heim >Backend-Entwicklung >Python-Tutorial >Zwei Möglichkeiten, Bilder in Python zu zeichnen
Wie zeichne ich Bilder in Python? Hier stellen wir Ihnen zwei Python-Zeichenbibliotheken vor: Turtle und Matplotlib.
Verwandte Empfehlungen: „Python-Video“
1 Turtle installieren
Python2-Installationsbefehl:
pip install turtule
Python3 Installationsbefehl:
pip3 install turtle
2 Grundkonzepte
2.1 Leinwand (Leinwand)
Die Leinwand ist die Schildkröte, die den Zeichenbereich für uns, wir, erweitert kann seine Größe und Ausgangsposition festlegen.
Es gibt zwei häufig verwendete Canvas-Methoden: screensize() und setup().
(1) Turtle.screensize(canvwidth=None, canvheight=None, bg=None)
Die Parameter sind die Breite (Einheitspixel), Höhe und Hintergrundfarbe der Leinwand
Zum Beispiel:
turtle.screensize(800, 600, "green")
turtle.screensize() #Zurück zur Standardgröße (400, 300)
(2 ) Turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
Parameter:
width, height: Wenn die Eingabebreite und Höhe sind ganze Zahlen, sie stellen Pixel dar; wenn es sich um eine Dezimalzahl handelt, stellt sie den Anteil des belegten Computerbildschirms dar.
(startx, starty): Diese Koordinate stellt die Position der oberen linken Ecke des rechteckigen Fensters dar. Wenn es leer ist, befindet sich das Fenster in der Mitte des Bildschirms
wie in:
turtle.setup(width=0.6, height=0.6) turtle.setup(width=800, height=800, startx=100, starty=100)
2.2 Pinsel
Auf der Leinwand gibt es eine Koordinatenachse, deren Ursprung ist standardmäßig die Mitte der Leinwand. Auf dem Koordinatenursprung befindet sich eine kleine Schildkröte, die in die positive Richtung der x-Achse zeigt.
Hier verwenden wir zwei Wörter, um die kleine Schildkröte zu beschreiben: Markierung des Ursprungs (Position), Blick in die positive Richtung der x-Achse (Richtung). Beim Schildkrötenzeichnen werden Position und Richtung verwendet, um sie zu beschreiben Zustand der kleinen Schildkröte (Pinsel)
(1) Attribute des Pinsels
Der Pinsel verfügt über Attribute wie Farbe und Linienstärke.
1) Turtle.pensize(): Legt die Breite des Pinsels fest
2) Turtle.pencolor(): Es werden keine Parameter übergeben, um die aktuelle Pinselfarbe zurückzugeben Mit den Parametern können Sie die Pinselfarbe festlegen. Dabei handelt es sich um eine Zeichenfolge wie „grün“, „rot“ oder ein RGB-3-Tupel.
>>> pencolor('brown') >>> tup = (0.2, 0.8, 0.55) >>> pencolor(tup) >>> pencolor() '#33cc8c'
3) Turtle.speed(speed): Stellen Sie die Geschwindigkeit der Pinselbewegung ein. Der Geschwindigkeitsbereich für das Zeichnen des Pinsels ist eine ganze Zahl von [0,10], je größer die Zahl, desto schneller
(2) Zeichenbefehle
Es gibt viele Befehle zum Steuern des Schildkrötenzeichnens. Diese Befehle können in drei Typen unterteilt werden: Bewegungsbefehle, Pinselsteuerbefehle und globale Steuerbefehle
Brush Sport-Befehl:
Befehl Erläuterung
TURTLE.Forwards (Entfernung) Verschieben Sie den Abstand um ein Pixel langTurtle.backWard (Abstand) Verschieben Sie die Entfernungspixellänge in die entgegengesetzte Richtung des Pinsels °
turtle.pendown() , um beim Verschieben Grafiken zu zeichnen. Die Standardeinstellung ist „Zeichnen“turtle.goto(x,y) Bewegen Sie den Pinsel an die Position mit den Koordinaten x und y
TURTLE.Speed (Geschwindigkeit) Pinsel zum Zeichnen an einer anderen Stelle
Turtle.circle () Zeichnen Sie den Kreis, und der Radius ist positiv (negativ), was anzeigt, dass der Kreis an der Stelle gezeichnet wird links (rechts) vom Pinsel
Schmerzkontrollbefehl:
>
BefehlErklärung
TURTLE.Pensize (width) Die Breite der Grafik
TURTLE.PenColor () Pinselfarbe turtle.fillcolor(colorstring) Befindet es sich derzeit im Füllzustand? hideturtle() Pfeilanzeige ausblenden; TURTLE.Showturtle () Der entsprechende
globale Steuerbefehl
:
Befehl
Befehl
>TURTLE.Undo () zum Widerrufen der vorherigen Turtle-Aktion
TURTLE.ISVISISible () Rückkehr zum aktuellen TURTLE, ob
STAMP () Kopieren der aktuellen Grafik
turtle.write(s[,font=("font-name",font_size,"font_type")]) 写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项。
例子:
import turtle def drawSnake(rad, angle, len, neckrad): for _ in range(len): turtle.circle(rad, angle) turtle.circle(-rad, angle) turtle.circle(rad, angle/2) turtle.forward(rad/2) # 直线前进 turtle.circle(neckrad, 180) turtle.forward(rad/4) if __name__ == "__main__": turtle.setup(1500, 1400, 0, 0) turtle.pensize(30) # 画笔尺寸 turtle.pencolor("green") turtle.seth(-40) # 前进的方向 drawSnake(70, 80, 2, 15)
Matpliotlib
前提
linux ubuntu 下需安装下面三个包:
Numpy, Scipy,Matplotlib
分别输入下面的代码进行安装:
pip install numpy pip install scipy sudo apt-get install python-matplotlib
测试是否安装成功
python >>> import pylab
如果没有报错则安装成功
开始画图
1. 画最简单的直线图
代码如下:
import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt.plot(x,y) plt.savefig("easyplot.jpg")
结果如下:
代码解释:
#x轴,y轴 x=[0,1] y=[0,1] #创建绘图对象 plt.figure() #在当前绘图对象进行绘图(两个参数是x,y轴的数据) plt.plot(x,y) #保存图象 plt.savefig("easyplot.jpg")
Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten, Bilder in Python zu zeichnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!