python如何畫圖?這裡要跟大家介紹兩款python繪圖的函式庫:turtle和Matplotlib。
相關推薦:《python影片》
1 安裝turtle
#Python2安裝指令:
pip install turtule
Python3安裝指令:
pip3 install turtle
2 基礎概念
2.1 畫布(canvas)
畫布就是turtle為我們展開用於繪圖區域, 我們可以設定它的大小和初始位置。
常用的畫布方法有兩個:screensize()和setup()。
(1)turtle.screensize(canvwidth=None, canvheight=None, bg=None)
參數分別為畫布的寬(單位像素), 高, 背景顏色
如:
turtle.screensize(800, 600, "green")
turtle.screensize() #傳回預設大小(400, 300)
#(2 )turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
參數:
width, height: 輸入寬與高為整數時, 表示像素;為小數時, 表示佔據電腦螢幕的比例
(startx, starty): 此座標表示矩形視窗左上角頂點的位置, 如果為空,則視窗位於螢幕中心
如:
turtle.setup(width=0.6, height=0.6) turtle.setup(width=800, height=800, startx=100, starty=100)
2.2 畫筆
在畫布上,預設有一個座標原點為畫布中心的座標軸, 座標原點上有一隻面朝x軸正方向小烏龜。
這裡我們描述小烏龜時使用了兩個詞語:標原點(位置),面朝x軸正方向(方向),turtle繪圖中, 就是使用位置方向描述小烏龜(畫筆)的狀態
(1)畫筆的屬性
畫筆有顏色、畫線的寬度等屬性。
1) turtle.pensize() :設定畫筆的寬度;
2) turtle.pencolor() :沒有參數傳入回傳目前畫筆顏色;傳入參數設定畫筆顏色,可以是字串如"green", "red",也可以是RGB 3元組。
>>> pencolor('brown') >>> tup = (0.2, 0.8, 0.55) >>> pencolor(tup) >>> pencolor() '#33cc8c'
3) turtle.speed(speed) :設定畫筆移動速度,畫筆繪製的速度範圍[0,10]整數, 數字越大越快
(2)繪圖指令
操縱海龜繪圖有著許多的指令,這些指令可以分割為3種:運動指令,畫筆控制指令和全域控制指令
畫筆運動指令:
# 說明
turtle.forward(distance) 朝向目前畫筆方向上移動distance像素長
turtle.backward(distance) 與目前畫筆相反方向上移動distance像素長度
turtle.right(degree) 1 1 c
順turtle.left(degree) 以反時接時使用「重複」使用degree °
turtle.pendown() 任何在移動中繪製出圖片 將筆刷移至座標為x,y的位置
turtle.penup() . 畫筆所畫的速度範圍[0,10]整數
turtle.circle() 下對上筆下筆劃筆為筆劃筆為筆劃筆為筆劃筆的筆下筆劃筆控制號上的圓筆劃筆控制號上圖
)> #指令繪製圖形時的寬度
turtle.pencolor() # # #turtle.fillcolor(colorstring) 繪製圖形填入的顏色
turtle.color(color1, color2) 同時設定為特徵 返回目前是否在填海狀態turtle.begin_fill() 準備開始填入圖形中#turtle.end_fill () 填入完成;turtle.hideturtle() 內建箭頭中顯示;
turtle.showturtle() 與hideturtle()函數對應
全局控制命令: 命令清除turtle窗口,但turtle的位置與狀態不會改變
turtle.res 為起始狀態
turtle.undo() 撤銷上一個turtle 動作
##turtlestamp() 擷取目前圖形上圖
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")
以上是python畫圖的兩種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!