Graphical representations of data provide an enhanced understanding of the complex substructure of the data, helping us to easily interpret hidden patterns and trends. Imagine how convenient it would be if we could draw similar relationships programmatically? Python provides a rich module specifically designed to perform such operations, it is called "turtle".
The "turtle" module is a built-in library in Python that allows us to draw graphics on the "turtle graphics screen". In this article, we will create a bar chart using the turtle module.
The turtle module uses a virtual turtle object to create graphics. There are different functions associated with this module that empowers this turtle object to move around the screen and draw over it. Let's talk about the different functions we require to create a bar chart.
Turtle() − This function creates a new turtle object.
fillcolor() − This function sets the color of the turtle to the color of the fill bar.
begin_fill() − This function starts the filling process and remembers the starting point.
left() − This function causes the turtle to turn 90 degrees to the left.
right() − This function causes the turtle to turn 90 degrees to the right.
forward() − This function causes the turtle to move forward by the specified unit.
write() − This function will write a string (height value) on the histogram.
end_fill() − This function closes the graphic and stops the filling process.
All these functions together create a bar chart, but we must prepare a proper program to make these functions work as a whole. Now that we understand the mechanics, let's draw a bar chart.
The Turtle module is inspired by the LOGO programming language, which allows users to create shapes on a virtual screen. To draw the bar chart, we need to set the turtle to the lower left corner of the screen. By default, the turtle is located at the center point (0,0), but we can change these coordinates using the "setworldcoordinates()" method.
This method allows the user to rescale the window and make it fit for the data. It takes four coordinates −
The coordinates are the X and Y axes of the lower left corner and the lower right corner.
The X and Y axis coordinates of the upper left and upper right corners.
This method serves as a reset tool to adjust coordinates according to the size of the data. We set these coordinates using the maximum histogram height value and total space value.
The Chinese translation ofThe following is an implementation of the concepts discussed above.
We will create a function that accepts a "turtle object", "bar height" and "bar color" as parameters. We will then write functions to plot bars with different heights and colors.
The different height and color values will be passed in the form of a list, and we will iterate through calling the function for each value.
Finally, we will use the turtle object to make a brush and start the drawing process. Once the drawing is complete, we will close the turtle instance. The turtle graphics screen is created through the "Screen()" method.
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()
We can add a frame to this bar chart and design the scale of the X-axis and Y-axis. The turtle module is strictly for creating graphs based on the data we have. We cannot use it to make statistical estimates. Although it can be used with other powerful Python libraries such as "NumPy" and "Pandas", providing them with statistical and visualization capabilities. For more in-depth and precise estimation, we use the "matplotlib" library.
This article explains the mechanics of the turtle module and how to use it to create a histogram. We discussed various functions and parameters that can be used to programmatically generate histograms on the turtle graphics screen. The values used in the program are based on the data we want to visualize and cannot be further statistically interpreted.
The above is the detailed content of Python program to draw histogram using turtle. For more information, please follow other related articles on the PHP Chinese website!