查看原文
其他

数据呈现 | Python中交互turtle包,让图形多点艺术

数据Seminar 2021-06-04

The following article is from DC黑板报 Author 逗汁儿

python的强大在于它有许多的强大的库,turtle就是其中之一。
利用turtle,你可以进行交互式的绘画,作为一个艺术白痴,想要画一幅画可能很困难,但是利用python的turtle库,只需要几行代码你就能实现绘画。
turtle是python自带的一个库,直接调用就可以了。
以下的两种方法都可以进行turtle库的调用。
import turtlefrom turtle import *

左右滑动查看更多

然后接下来我们需要了解一下turtle的基本语句,为画图打好基础。




turtle绘图窗体布局


画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。setup()设置窗体大小及位置   。
格式:

turtle.setup(width,height,startx,starty)

4个参数中后两个可选。
setup函数不是必须的,只有当需要控制绘图窗体大小的时候才调用。




画布(canvas)


画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小命令:

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。
turtle.screensize() #返回默认大小(400, 300)
左右滑动查看更多


移动


现在,我们尝试用上表中的命令来操作一下,看看turtle是怎么运动的。
import turtleturtle.forward(100)#从当前画笔方向移动100turtle.left(90)#逆时针移动90°turtle.backward(200)#在当前画笔方向的反方向移动200turtle.right(90)#顺时针移动90°turtle.circle(200)#画一个半径为200的圆,圆心在画笔左边turtle.pendown()#落下画笔turtle.goto(150,150)#移动到(150,150)的位置turtle.speed(60)#速度为60

左右滑动查看更多

运行的结果:





颜色



在turtle库中,有许多颜色可供画图使用,以下的色板中,大多数颜色在turtle中都是可使用的。

import turtleturtle.begin_fill() #开始填充turtle.color("red") #填充黑色turtle.circle(40)turtle.end_fill() #填充结束turtle.hideturtle()#隐藏画笔形状

左右滑动查看更多





全局控制命令



import turtleturtle.color("dodgerblue")turtle.write("DataCastle", font = ("Times", 18, "bold"))

左右滑动查看更多




turtle库小练习


画一组同心圆

import turtleturtle.circle(20)#先画一个半径为20的圆turtle.up()#抬起画笔turtle.goto(0,-10)#将画笔移动到(0,-10)处turtle.down()#落下画笔,后面操作同上turtle.circle(30)turtle.up()turtle.goto(0,-20)turtle.down()turtle.circle(40)turtle.hideturtle()

左右滑动查看更多




画一个五角星

from turtle import *pencolor("yellow")fillcolor("yellow")begin_fill()while True: forward(200) right(144) if abs(pos()) < 1: breakend_fill()

左右滑动查看更多



经典的太阳花

from turtle import *color('red', 'yellow')begin_fill()while True: forward(200) left(170) if abs(pos()) < 1: breakend_fill()done()

左右滑动查看更多


循环语句

按照一定次数循环执行一组语句。

语法格式:
for <变量> in range(<次数>) :
<被循环执行的语句>

<变量>表示每次循环的计数,0到(<次数>-1)

from turtle import *for i in range(500): #重复500次 forward(i) left(90)

左右滑动查看更多

当把角度变换一下,会发生什么呢?
from turtle import *for i in range(500): #重复500次 forward(i) left(91)

左右滑动查看更多

除了这些简单的笔画,还有大神画小猪佩奇,画圣诞树的,因此,不得不说turtle是一个神奇的库。
那还等什么,赶紧试试吧!








►往期推荐

回复【Python】👉简单有用易上手

回复【学术前沿】👉机器学习丨大数据

回复【数据资源】👉公开数据

回复【可视化】👉你心心念念的数据呈现

回复【老姚专栏】👉老姚趣谈值得一看


►一周热文

校招丨加入企研数据,未来更多奇遇!

工具&方法 | R资源网站“四件套”推荐:教程、制图、论坛和书籍

工具&方法丨关于交互项的那些事(二):画交互效应图原来如此简单

特别推荐丨老姚专栏:理解自然实验和DID方法——与现场实验比较的视角

数据呈现 | R制图:棒棒糖图,展示地区经济发展差异









数据Seminar

这里是大数据、分析技术与学术研究的三叉路口


作者:逗汁儿出处:DC黑板报推荐:简华(何年华)编辑:青酱





    欢迎扫描👇二维码添加关注    


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存