使用Python Turtle绘制柱状图
Turtle是一个类似于画板的Python功能,它可以让我们命令Turtle在上面画个不停我们可以使用像turtle.forward(…)和turtle.right(…)这样的函数,可以让Turtle四处移动。Turtle是一种适合初学者的学习Python的方法,通过运行一些基本的命令和观看Turtle的图形化操作。它就像一个画板,允许你在它上面画画。Turtle 模块可以以面向对象和面向过程的方式使用。
为了绘图,Python turtle提供了许多函数和方法,即前进、后退等。一些常用的方法是。
- forward(x):将笔在前进方向上移动x个单位。
- backward(x):将笔向后移动x个单位。
- right(x):将笔沿顺时针方向旋转一个角度x。
- left(x):将笔沿逆时针方向旋转一个角度x。
- penup() : 停止绘制Turtle笔。
- pendown() : 开始绘制Turtle笔。
Turtle可以用来绘制任何静态形状(可以使用线条绘制的形状)。我们都知道
步骤:
- 导入Turtle库。
- 创建一个函数,例如drawBar(),它接收一个Turtle对象、一个高度值和一个颜色名称,并执行以下步骤。
- 该函数画出给定高度和固定宽度(例如40)的垂直矩形。
- 该函数用给定的颜色名称填充矩形。
- 初始化一个有一些数值的列表(条形图的数据)。
- 初始化一个Turtle实例。
- 设置窗口,用创建的Turtle实例和你选择的任何颜色为列表中的每个值调用 drawBar() 。
- 完成上述步骤后,关闭Turtle实例。
下面是上述方法的实现。
# 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)
numbers = len(xs)
border = 10
# Set up the window and its
# attributes
wn = turtle.Screen()
wn.setworldcoordinates(0 - border, 0 - border,
40 * numbers + 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()
输出: