首頁  >  文章  >  後端開發  >  python畫圖的兩種方法

python畫圖的兩種方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-15 15:49:1543974瀏覽

python如何畫圖?這裡要跟大家介紹兩款python繪圖的函式庫:turtle和Matplotlib。

相關推薦:《python影片

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 動作

##turtle 

stamp()                                    擷取目前圖形上圖

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)

python畫圖的兩種方法

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")

结果如下:

python畫圖的兩種方法

代码解释:

#x轴,y轴
x=[0,1]
y=[0,1]
#创建绘图对象
plt.figure()
#在当前绘图对象进行绘图(两个参数是x,y轴的数据)
plt.plot(x,y)
#保存图象
plt.savefig("easyplot.jpg")

以上是python畫圖的兩種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn