python的turtle模塊畫折線圖


代碼如下:

import turtle
yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6]
def main():
    t = turtle.Turtle()
    t.hideturtle()
    drawLine(t,0,0,300,0) #畫x軸
    drawLine(t,0,0,0,175) #畫y軸
    #畫折線
    for i in range(6):
        drawLineWithDots(t,40 + (40 * i),15 * yValues[i],40 + (40 * (i+1)),15 * (yValues[i+1]),"blue")
    drawTickMarks(t)
    #給圖上x y 軸上的間距點表上值
    displayText(t)
def drawLine(t,x1,y1,x2,y2,colorP="black"):
    t.up()
    t.goto(x1,y1)
    t.down()
    t.pencolor(colorP)
    t.goto(x2,y2)
def drawLineWithDots(t,x1,y1,x2,y2,colorP="black"):
    t.pencolor(colorP)
    t.up()
    t.goto(x1,y1)
    t.dot(5)
    t.down()
    t.goto(x2,y2)
    t.dot(5)
def drawTickMarks(t):
    for i in range(1,8):
        drawLine(t,40*i,0,40*i,10) #畫x軸上的間距點
    drawLine(t,0,15 * max(yValues), 10, 15*max(yValues)) #畫出y軸最上面的那一個點
    drawLine(t,0,15 * min(yValues), 10, 15*min(yValues)) #畫出y軸最下面的那一個點
def displayText(t):
    t.pencolor("blue")
    t.up()
    #在對應的位置標出10.0
    t.goto(-10,(15*max(yValues))-8)
    t.write(max(yValues),align="center")
    #再對應的位置標出2.6
    t.goto(-10,(15*min(yValues))-8)
    t.write(min(yValues),align="center")
    #標出x軸上對應的點
    x = 40
    for i in range(2000,2013,2):
        t.goto(x,-20)
        t.write(str(i),align="center")
        x += 40
    #在這張折線圖下方給點說明
    t.goto(0,-50)
    t.write("大學生吸煙率情況分析圖",font=("Arial",16,"normal"))
main()

效果圖如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM