python 画图 图例,python代码画图教程知识

  python 画图 图例,python代码画图教程知识

  这篇文章主要介绍了计算机编程语言画图练习案例分享,文章基于计算机编程语言实现各种画图,具有一定的参考价值,感兴趣的小伙伴可以参考一下

  

目录
1.多边形的绘制案例2.太阳花案例3.颜色五角星案例4.艺术图片5.黑六边形6.绘制时钟7.绘制分形树8.彩虹线绘制案例

  

1.多边形的绘制案例

  # 多边形的绘制案例

  进口甲鱼

  定义主():

  turtle.color(绿色)

  #步数代表多边形的绘制

  乌龟圈(50步=6步)

  turtle.exitonclick()

  if __name__==__main__:

  主()

  

2.太阳花案例

  # 太阳花案例*******************************************************************

  进口甲鱼

  导入时间

  turtle.color(红色,黄色)

  turtle.begin_fill()

  对于_在范围(50):

  turtle.speed(0)

  龟。前进(200)

  左转弯(170度)

  turtle.end_fill()

  turtle.mainloop()

  

3.颜色五角星案例

  # 颜色五角星案例******************************************************************

  进口甲鱼

  导入时间

  乌龟冥想(5)

  turtle.pencolor(黄色)

  turtle.fillcolor(红色)

  turtle.begin_fill()

  对于_在范围(5):

  龟。前进(200)

  龟权(下)144

  turtle.end_fill()

  时间。睡眠(2)

  turtle.penup()

  turtle.goto(-150,-120)

  turtle.color(紫罗兰)

  turtle.write(Done ,font=(Arial ))

  turtle.mainloop()

  

4.艺术图片

  # 艺术图片*************************************************************************

  进口甲鱼

  turtle.speed(0)

  乌龟。延迟(0)

  乌龟冥想(2)

  turtle.bgcolor(黑色)

  颜色=[红色,蓝色,黄色,紫色]

  对于范围(300):内的x

  turtle.color(colors[x%4])

  turtle.forward(2*x)

  turtle.left(91)

  turtle.done()

  

5.黑六边形

  # #黑六边形*****************************************************************************

  进口甲鱼

  定义再见(x,y):

  乌龟。再见()

  s=乌龟。屏幕()

  s.bgcolor(黑色)

  美国屏幕尺寸(800,800)

  s.title(“类使用")

  屏幕点击(再见)

  p=乌龟。乌龟()

  速度(0)

  秀龟龟

  p.pencolor(“红色")

  p。彭齐泽(3)

  p圆(50,360,6)

  图尔特

  le.done()

  

  前方高能

  

  

6.绘制时钟

  

#绘制时钟************************************************************************************************

  import turtle as tt

  from datetime import *

  # 当前日期属于一周的第几天

  def Week(t):

  week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]

  return week[t.weekday()]

  # 获取当前时间

  def Date(t):

  y = t.year

  m = t.month

  d = t.day

  cur_hour = t.hour;

  cur_min = t.minute;

  cur_sec = t.second;

  return "%s-%d-%d %d:%02d:%02d" % (y, m, d, cur_hour, cur_min, cur_sec)

  # 移动画笔,距离为distance

  def movePen(distance):

  tt.penup()

  tt.pensize(5)

  tt.pencolor("blue")

  tt.fd(distance)

  tt.pendown()

  # 绘制表针

  def makeHands(name, length):

  # 清空窗口,重置turtule状态为初始状态

  tt.reset()

  movePen(-length * 0.1)

  # 开始记录多边形的顶点

  tt.begin_poly()

  tt.fd(length * 1.1)

  # 停止记录多边形的顶点

  tt.end_poly()

  # 返回记录的多边形

  handForm = tt.get_poly()

  tt.register_shape(name, handForm)

  # 初始化

  def initial():

  global secHand, minHand, hurHand, printer

  # 重置方向向北(上),正角度为顺时针

  tt.mode("logo")

  # 建立并初始化表针

  makeHands("secHand", 180)

  makeHands("minHand", 150)

  makeHands("hurHand", 110)

  secHand = tt.Turtle()

  secHand.shape("secHand")

  minHand = tt.Turtle()

  minHand.shape("minHand")

  hurHand = tt.Turtle()

  hurHand.shape("hurHand")

  for hand in secHand, minHand, hurHand:

  hand.shapesize(1, 1, 4)

  hand.speed(0)

  # 输出文字

  printer = tt.Turtle()

  # 隐藏画笔

  printer.hideturtle()

  printer.penup()

  # 绘制表盘外框

  def drawClock(R):

  # 清空窗口,重置turtule状态为初始状态

  tt.reset()

  # 画笔尺寸

  tt.pensize(5)

  for i in range(60):

  movePen(R)

  if i % 5 == 0:

  tt.fd(20)

  movePen(-R - 20)

  movePen(R + 20)

  if i == 0:

  # 写文本

  tt.write(int(12), align="center", font=("Consolas", 14, "bold"))

  elif i == 30:

  movePen(25)

  tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

  movePen(-25)

  elif (i == 25 or i == 35):

  movePen(20)

  tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

  movePen(-20)

  else:

  tt.write(int(i / 5), align="center", font=("Consolas", 14, "bold"))

  movePen(-R - 20)

  else:

  # 绘制指定半径和颜色的点

  tt.dot(5, "red")

  movePen(-R)

  tt.right(6)

  # 表针的动态显示

  def handsMove():

  t = datetime.today()

  second = t.second + t.microsecond * 0.000001

  minute = t.minute + second / 60.0

  hour = t.hour + minute / 60.0

  secHand.seth(6 * second)

  minHand.seth(6 * minute)

  hurHand.seth(30 * hour)

  tt.tracer(False)

  printer.fd(65)

  tt.pencolor("green")

  printer.write(Week(t), align="center", font = ("黑体", 14))

  printer.back(130)

  printer.write(Date(t), align="center", font = ("Consolas", 14))

  # 设置当前画笔位置为原点,方向朝东

  printer.home()

  tt.tracer(True)

  # 经过100ms后继续调用handsMove函数

  tt.ontimer(handsMove, 100)

  # 调用定义的函数,打开和关闭动画,为更新图纸设置延迟;

  tt.tracer(False)

  initial()

  drawClock(200)

  tt.tracer(True)

  handsMove()

  tt.mainloop()

  

  

  

7.绘制分形树

  

# 绘制分形树******************************************************************************

  import turtle

  def draw_branch(branch_length):

  绘制分形树

  if branch_length > 5:

  # 绘制右侧树枝

  turtle.forward(branch_length)

  print("向前:", branch_length)

  turtle.right(20)

  print("右转:20度")

  draw_branch(branch_length - 15)

  # 绘制左侧树枝

  turtle.left(40)

  print("左转:40度")

  draw_branch(branch_length - 15)

  # 返回之前的树枝

  turtle.right(20)

  print("右转:20度")

  turtle.backward(branch_length)

  print("向后:", branch_length)

  def main():

  主函数

  turtle.speed(0.5)

  turtle.pensize(3)

  turtle.left(90)

  turtle.color(green)

  turtle.penup()

  turtle.backward(150)

  turtle.pendown()

  turtle.bgcolor("black")

  draw_branch(100)

  turtle.exitonclick()

  if __name__ == "__main__":

  main()

  

  

  

8.彩虹线绘制案例

  

# 彩虹线绘制案例***************************************************************************

  import turtle as t

  from random import randint as rint

  t.shape("turtle")

  t.pensize(5)

  t.colormode(255)

  t.bgcolor("black")

  t.tracer(False)

  for x in range(700):

  t.color(rint(0,255),rint(0,255),rint(0,255))

  t.circle(2*(1+x/4),5)

  t.speed(0)

  t.tracer(True)

  t.exitonclick()

  

  到此这篇关于Python画图练习案例分享的文章就介绍到这了,更多相关Python画图内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: