不要问我为什么666 2022-05-22 19:25 采纳率: 100%
浏览 47
已结题

python,turtle模块

使用turtle模块绘制词频统计结果,其中词频数据
wordFrequency=
{"the":104,"a":63,"to":42,"of":42,"Kevin":36,"he":32,"you":28,"and":28,"is":27,"i":26}
以柱状图的形式展示统计结果。

  • 写回答

1条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-22 21:21
    关注

    如下所示,主要在遍历字典时要凑好坐标位置有点麻烦:

    import turtle
    
    t = turtle.Pen()
    
    t.color("red")
    t.pensize(3)
    t.speed(0)
    
    wordFrequency = {"the":104,"a":63,"to":42,"of":42,"Kevin":36,"he":32,"you":28,"and":28,"is":27,"i":26}
    
    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')
    
    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'))
    
    t.hideturtle()
    t.done()
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月22日

悬赏问题

  • ¥15 关于#Mybatis#的问题:怎么办重复数据如下"KSDM":37,"KSMC":"呼吸内科门诊","ksdm":37,"ksmc":"呼吸内科门诊"xml文件填写
  • ¥40 servlet的web程序部署出错
  • ¥50 activiti 新建流程系列问题
  • ¥50 为什么我版本升级之后运行速度变慢5倍??
  • ¥15 如何在gazebo中加载机械臂和机械手
  • ¥15 纯运放实现隔离采样方案设计
  • ¥20 easyconnect无法连接后缀带.com的网站,一直显示找不到服务器ip地址,但是带有数字的网站又是可以连接上的,如何解决
  • ¥15 电脑开机过商标后就直接这样,求解各位
  • ¥15 mysql , 用自己创建的本地主机和用户名 登录不上
  • ¥15 关于#web项目#的问题,请各位专家解答!