Python 使用turtle绘制条形图的程序

Python 使用turtle绘制条形图的程序

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

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

理解Turtle模块

turtle模块使用一个虚拟的Turtle对象来创建图形。与该模块相关的不同函数使得这个Turtle对象可以在屏幕上移动和绘制。让我们谈谈我们需要创建条形图所需的不同函数。

用于创建条形图的Turtle函数

  • Turtle() - 这个函数创建一个新的Turtle对象。
  • fillcolor() - 这个函数将Turtle颜色设置为要填充的颜色。
  • begin_fill() - 这个函数开始填充过程并记住起点。
  • left() - 这个函数使Turtle向左转90度。
  • right() - 这个函数使Turtle向右转90度。
  • forward() - 这个函数使Turtle按指定的单位向前移动。
  • write() - 这个函数将一个字符串(高度值)写在条上。
  • end_fill() - 这个函数关闭条并停止填充过程。

所有这些函数一起创建一个条形图,但我们必须准备一个适当的程序以使这些函数作为一个整体工作。既然我们已经了解了机制,让我们来绘制一个条形图。

绘制条形图

turtle模块受到LOGO编程语言的启发,该语言允许用户在虚拟屏幕上创建形状。要绘制一个条形图,我们需要将Turtle设置在屏幕的左下角。默认情况下,Turtle位于中心(0,0),但我们可以借助 “setworldcoordinates()”方法 改变这些坐标。

该方法允许用户重新缩放窗口并使其适应数据。它需要四个坐标:

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

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

示例

以下是上述概念的实现。

  • 我们将创建一个函数,将“turtle对象”,“条形图高度”和“条形图颜色”作为参数。然后,我们将编写函数来绘制不同高度和颜色的条形图。

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

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

示例

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()

输出

Python 使用turtle绘制条形图的程序

其他见解

我们可以给这个柱状图添加框架,并设计X轴和Y轴的刻度。Turtle模块严格用于基于我们拥有的数据创建图形。我们不能用它进行统计估计。虽然它可以与其他强大的Python库(如“ NumPy ”和“ Pandas ”)协同工作,赋予它们统计和可视化能力。对于更深入和精确的估计,我们使用“ matplotlib ”库。

结论

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程