利用python绘图,一篇文章入门

通过视频教程学习了如何用python绘图,现在做一个简单的总结。

导入turtle库之后,即可以进行图形绘制。

import turtle

一个完整的作图流程:创建画布,设置笔的属性,绘制图形。

附带各个流程常用的方法。

1.创建画布

turtle.setup(800,800) 两个参数分别为画布的长和宽,例子是长宽都为800像素的画布
turtle.mainloop() 默认情况下,程序执行完后,作画产生对话框会立刻消失,需要在程序 末尾 处加上这行代码才能够保证“画布一直处于展开状态”。

2.设置笔

  • turtle.pencolor()设置笔的颜色,默认是黑色 括号内传参为两种:

    • 第一种是字符,颜色相关的英语单词,例如:
      turtle.color('green') 代表设置笔的颜色为绿色

    • 第二种是(r,g,b)其中r,g,b为三个小于一的数值,代表三种颜色含量,根据三种颜色r,g,b值,确定颜色的不同。 例如
      turtle.pencolor((0,0,0)) 代表黑色

  • turtle.width() 设置线宽(笔的粗细),括号内值越大,则线条越粗。
    turtle.width(5) 代表笔的线宽为5像素

  • turtle.speed()设置笔的速度 1-10速度递增,其中0最快
    turtle.speed(1) 设置笔的移动速度

3.绘制图形

一般前两步是作图的准备工作,在运行程序时会默认设置好画布的长和宽,同时也会设置笔的粗细、移动速度、颜色,也就是说前两步不是真正必须的。
可以在作图过程中同样可以修改笔的属性,更改颜色粗细等,已达到特殊的目的。
可以将函数画图与现实中画图类比,作图的主要过程便是移动笔的过程,产生的线条便是笔在画布上的移动轨迹。

  • 改变笔的状态 笔相对于画布存在两种状态,拿起笔和放下笔 turtle.up() 拿起笔的函数拿起之后,可以移动笔的位置而不产生痕迹。
    turtle.down() 将笔放下的函数移动到指定位置之后,需要将笔放下才能够继续作画。

    画布在图中呈现等同为坐标轴,中心为坐标原点(也是作画起点),水平向右为x轴正方向(也是默认笔的方向),向上为y轴正方向。
  • 改变笔的方向
    turtle.left(45)left(旋转角度),向左旋转45度
    turtle.right(45)#2)right(旋转角度),向右旋转45度
    turtle.seth(-90)#3)设置角度,以水平向右为0度,方向与坐标轴表示的方向相同。

  • 改变笔的位置可以通过两个函数操控笔的移动。
    画直线

    • turtle.forward()/turtle.fd()笔沿着箭头方向向前移动,括号内数字即为笔移动的距离,两个函数等同
      turtle.forward(100)沿着箭头方向移动一百个像素

    • turtle.back()/turtle.bk()笔沿着箭头相反方向移动,括号内数字为笔移动的距离,两个函数等同

    • turtle.goto()移动到指定位置,里面参数为二维坐标值
      turtle.goto((-100,-100))移动到指定位置,goto(二维坐标值)

    • turtle.setx(100),使x坐标值为100,平行于y轴移动,使得x坐标值不变,括号内参数为新的y坐标值 turtle.sety(-10)使y坐标值为-10,平行于x轴移动,使得y坐标值不变,括号内参数为新的x坐标值

    • turtle.home()#回到坐标原点,括号内没有参数

    import turtle
    turtle.pencolor('red')#设置颜色
    turtle.fd(200)#按照默认方向前进200像素
    turtle.up()#抬笔
    turtle.sety(-100)#将笔的y坐标变为-100
    turtle.left(90)#向左转90度
    turtle.down()#落笔
    turtle.pencolor('green')#改变颜色
    turtle.fd(200)#沿改变后的方向前进200像素
    turtle.mainloop()
    

    在这里插入图片描述

    画曲线,原理,在笔前进的同时不断改变笔的前进方向,
    结合,画出一个圆,不断前进,每次移动两个像素,移动同时笔的方向向左转一度,循环360次,随即产生一个圆形。

     import turtle 
        for i in range(360):
            turtle.fd(2)
            turtle.left(1) 
            turtle.mainloop()
    

    简洁的办法画出一个圆 turtle.circle()两种情况,以笔所处位置为起点
    1.传入一个参数,作为半径产生一个圆 例如

       turtle.circle(10)#画出一个半径为10的圆
    

    2.传入两个参数,第一参数为半径,第二个参数作为角度,那么产生的结果将是一个圆弧,例如:

    turtle.circle(50,90)  #产生一个半径为50,角度为90的圆弧;即为半径为50的四分之一圆  
    
    import turtle
    turtle.circle(100,180)#画圆弧
    turtle.dot(100)#画实心圆
    turtle.mainloop()
    

    在这里插入图片描述

  • 填充颜色

    • 产生实心圆
      turtle.dot()#以笔所处位置做圆心,以括号内传的参数为直径做实心圆, turtle.dot(10)产生直径为10的实心圆。
    • 为绘制图像填充颜色
      分四步。
      1.设置填充颜色 turtle.fillcolor('red')传参方式与上文turtle.pencolor相同
      2.开始填充 turtle.begin_fill()
      3.以之前所述方式用线条绘制图形,所绘图形不需要一定为封闭
      4.结束填充 turtle.end_fill()
      import turtle
      turtle.fillcolor('yellow')#设置填充颜色
      turtle.begin_fill()#开始填充
      turtle.circle(100)#绘制半径为100的圆
      turtle.end_fill()#结束填充
      
      turtle.up()#抬笔
      turtle.forward(90)#将笔前移90像素
      turtle.down()#落笔
      turtle.fillcolor('green')#设置填充颜色
      turtle.begin_fill()#开始填充
      turtle.fd(100)#等同于turtle.forward()
      #与之前不同的是此时已经落笔
      turtle.right(90)#向右转90度
      turtle.fd(100)
      turtle.end_fill()#结束填充
      
      turtle.mainloop()
      

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值