使用海龟绘制条形图的Python程序
先决条件: 海龟编程基础
Turtle是一个类似于绘图板的Python功能,它可以让我们命令一只海龟在它上面画画!我们可以使用像turtle.forward(…)和turtle.right(…)这样的函数来移动海龟。 Turtle 是一种初学者友好的学习Python的方式,通过运行一些基本命令并以图形方式查看海龟。它就像一个画板,可以让你在上面画画。海龟模块可以以面向对象和面向过程的方式使用。
为了绘制, Python海龟提供了许多函数和方法,即前进、后退等。一些常用的方法是:
- forward(x) :将笔向前移动 x 单位。
- 向后(x) :将笔向后移动 x 单位。
- right(x) :将笔顺时针方向旋转一个角度 x。
- left(x) : 将笔逆时针旋转一个角度 x。
- penup() : 停止绘制乌龟笔。
- pendown() :开始绘制乌龟笔。
Turtle 可用于绘制任何静态形状(可以使用线条绘制的形状)。我们都知道
方法:
- 导入海龟库。
- 创建一个函数,比如说drawBar() ,它接受一个海龟对象、一个高度值和一个颜色名称,并执行以下步骤:
- 该函数绘制给定高度和固定宽度的垂直矩形(比如40 )。
- 该函数用给定的颜色名称填充矩形。
- 初始化具有一些数值的列表(条形图的数据)。
- 初始化一个海龟实例。
- 设置窗口并使用创建的海龟实例和您选择的任何颜色为列表的每个值调用drawBar() 。
- 完成以上步骤后,关闭海龟实例。
下面是上述方法的实现:
Python3
# Python program to draw a turtle
import turtle
# Function that draws the turtle
def drawBar(t, height, color):
# Get turtle t to draw one bar
# of height
# Start filling this shape
t.fillcolor(color)
t.begin_fill()
t.left(90)
t.forward(height)
t.write(str(height))
t.right(90)
t.forward(40)
t.right(90)
t.forward(height)
t.left(90)
# stop filling the shape
t.end_fill()
# Driver Code
xs = [48, 117, 200, 96, 134, 260, 99]
clrs = ["green", "red", "yellow", "black",
"pink", "brown", "blue"]
maxheight = max(xs)
numbars = len(xs)
border = 10
# Set up the window and its
# attributes
wn = turtle.Screen()
wn.setworldcoordinates(0 - border, 0 - border,
40 * numbars + border,
maxheight + border)
# Create tess and set some attributes
tess = turtle.Turtle()
tess.pensize(3)
for i in range(len(xs)):
drawBar (tess, xs[i],
clrs[i])
wn.exitonclick()
输出: