【题目】使用turtle模块绘制词频统计结果,其中词频数据 wordFrequency = {"the":104, "a":63, "to":42, "of":42, "Kevin":36, "he":32, "you":28, "and":28, "is":27, "i":26}
以柱状图的形式展示统计结果。
今天在问答频道刷到的题,简单做了一遍画了两张图,分享给turtle入门者:
import turtle import time t = turtle.Pen() t.color("red") t.pensize(3) t.speed(0) def Goto(x,y): t.penup() t.goto(x,y) t.pendown() def rect(x,y,h,w=45): Goto(x,y) for i in range(2): t.forward(w) t.left(90) t.forward(h) t.left(90) t.fillcolor('red') def main(): start_x , start_y = -320, -200 Goto(start_x , start_y) t.forward(630) for i,d in enumerate(wordFrequency.items()): rect(start_x + i*65, start_y ,d[1]*4 ) tx = t.xcor() Goto(tx+(6-len(d[0]))*4, t.ycor()-25) t.write(d[0], font=('Arial',14,'normal')) Goto(tx + (8 if d[1]>100 else 12), t.ycor()+d[1]*4+30) t.write(d[1], font=('Arial',14,'normal')) wordFrequency = {"the":104,"a":63,"to":42,"of":42,"Kevin":36,"he":32,"you":28,"and":28,"is":27,"i":26} main() time.sleep(3) # 排序后再画 wordFrequency = { i:wordFrequency[i] for i in sorted(wordFrequency) } t.clear() main() t.hideturtle() turtle.mainloop()
单词排序后,再画一次:
附:常见命令: