代碼如下:
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()
效果圖如下:

