IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 使用turtle模块绘制统计柱状图 -> 正文阅读

[Python知识库]Python 使用turtle模块绘制统计柱状图

【题目】使用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()

单词排序后,再画一次:

附:常见命令:

命令说明
.forward() | fd( )向当前画笔方向移动distance像素长
.backward() | bd( ) | back( )向当前画笔相反方向移动distance像素长度
.right() | rt()顺时针移动degree°
.left() | lt()逆时针移动degree°
.pendown()移动时绘制图形,缺省时也为绘制
.penup()移动时不绘制图形,提起笔,用于另起一个地方绘制时用
.pensize(width)绘制图形时的宽度
.pencolor()画笔颜色
.fillcolor()绘制图形的填充颜色 fillcolor(colorstring)
.color()同时设置pencolor=color1, fillcolor=color2
.filling()返回当前是否在填充状态
.begin_fill()准备开始填充图形
.end_fill()填充完成
.setheading() | seth()设置当前朝向为某个角度
.position() | pos()返回乌龟当前的位置 (x,y)
.goto(x,y) | setpos() | setposion()将画笔移动到坐标为x,y的位置
.setx()、.sety()将当前x轴、y轴移动到指定位置
.xcor()、.ycor()返回画笔x、y坐标
.degrees()?将角度设置为度量单位,degrees(fullcircle=360.0 )
.radians()?将弧度设置为角度度量单位,相当于degrees(2*math.pi)
.home()设置当前画笔位置为原点,朝向东
.speed(speed)画笔绘制的速度,speed范围0~10
.circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
.dot()使用给定颜色绘制给定直径大小的圆点 dot(size=None, *color)
.hide()隐藏箭头显示
.show()与hideturtle()函数对应
.clear()清空turtle窗口,但是turtle的位置和状态不会改变
.reset()清空窗口,重置turtle状态为起始状态
.undo()撤消(重复)最后一次动作,撤消操作数由取消缓冲区的大小决定
.isvisible()返回当前turtle是否可见
.stamp()复制乌龟形状的副本在当前canvas上,返回stamp_id
.clearstamp(stampid)删除给定stamp_id对应的标记
.clearstamps(n=None)删除标记的全部或前/后n个

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:07:23  更:2022-05-24 18:08:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 16:27:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计