使用海龟绘图库绘制条形图的 Python 程序


数据的图形化表示提供了对数据复杂子结构的增强理解,它帮助我们轻松解释隐藏的模式和趋势。想象一下,如果我们可以通过编程的方式绘制类似的关系图,那将会多么方便?Python 提供了一个强大的模块,专门用于执行此类操作,它被称为“turtle”。

“turtle”模块是 Python 的内置库,允许我们在“海龟图形屏幕”上绘制图形。在本文中,我们将使用这个海龟模块创建一个条形图。

了解海龟模块

海龟模块使用一个虚拟的海龟对象来创建图形。该模块与不同的函数相关联,这些函数使海龟对象能够在屏幕上移动并在其上绘制图形。让我们讨论一下创建条形图所需的各种函数。

用于创建条形图的海龟函数

  • Turtle()  此函数创建一个新的海龟对象。

  • fillcolor()  此函数设置海龟颜色,用于填充条形。

  • begin_fill()  此函数开始填充过程并记住起始点。

  • left()  此函数使海龟向左旋转 90 度。

  • right()  此函数使海龟向右旋转 90 度。

  • forward()  此函数使海龟向前移动指定的单位。

  • write()  此函数将在条形上写一个字符串(高度值)。

  • end_fill()  此函数关闭条形并停止填充过程。

所有这些函数一起创建了一个条形图,但我们必须准备一个合适的程序才能使这些函数作为一个单元工作。现在我们已经了解了机制,让我们绘制一个条形图。

绘制条形图

海龟模块的灵感来自 LOGO 编程语言,它允许用户在虚拟屏幕上创建形状。为了绘制条形图,我们需要将海龟设置在屏幕的左下角。默认情况下,海龟位于中心 (0,0),但我们可以使用“setworldcoordinates()” 方法更改这些坐标。

此方法允许用户重新调整窗口大小并使其适合数据。它采用四个坐标 -

  • 左下角和右下角的 X&Y 轴坐标。

  • 左上角和右上角的 X&Y 轴坐标。

此方法充当重置工具,并根据数据大小调整坐标。我们使用最大条形高度值和总空间值来设置这些坐标。

示例

以下是上述概念的实现。

  • 我们将创建一个函数,该函数将“海龟对象”、“条形高度”和“条形颜色”作为参数。在此之后,我们将对函数进行编程,以绘制高度和颜色不同的条形。

  • 不同的高度和颜色值将以列表的形式传递,我们将通过迭代为每个值调用该函数。

  • 最后,我们将使用海龟对象制作一支笔并开始绘制过程。绘制完成后,我们将关闭海龟实例。海龟图形屏幕是通过“Screen()”方法创建的。

示例

import turtle

def BarGraph(turtleOBJ, Bar_height, Bar_color):
   turtleOBJ.fillcolor(Bar_color)
   turtleOBJ.begin_fill()
   turtleOBJ.left(90)
   turtleOBJ.forward(Bar_height)
   turtleOBJ.write(str(Bar_height))
   turtleOBJ.right(90)
   turtleOBJ.forward(80)
   turtleOBJ.right(90)
   turtleOBJ.forward(Bar_height)
   turtleOBJ.left(90)

   turtleOBJ.end_fill()

Bar_heights = [23, 94, 42, 150, 200, 56, 240,40]
Bar_color = ["orange", "purple", "green", "red", "black", "grey", "white", "violet"]

maxBarVal = max(Bar_heights)
Graph_Range = len(Bar_heights)
Space = 20

screen = turtle.Screen()
screen.setworldcoordinates(0 - Space, 0 - Space, 50 * Space, maxBarVal + Space)
screen.bgcolor("Brown")

turtleOBJ = turtle.Turtle()
turtleOBJ.pensize(3)

for bar in range(len(Bar_heights)):
   BarGraph(turtleOBJ, Bar_heights[bar], Bar_color[bar])
screen.exitonclick()

输出

其他见解

我们可以为这个条形图添加框架,还可以设计 X 和 Y 轴的刻度。海龟模块严格用于根据我们拥有的数据创建图形。我们不能将其用于统计估计。虽然它可以与其他强大的 Python 库(如“NumPy”和“Pandas”)结合使用,为它们提供统计和可视化功能。对于更深入和精确的估计,我们使用“matplotlib”库。

结论

本文解释了海龟模块的机制以及如何使用它来创建条形图。我们讨论了可用于在海龟图形屏幕上以编程方式生成条形图的各种函数和参数。程序中使用的值基于我们想要可视化的数据,并且不能进一步进行统计解释。

更新于: 2023年7月12日

860 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告