In this lesson i want to show you How to Build Charts with TKinter, so first of all let’s talk that what is TKinter ?
What is TKinter ?
Tkinter is standard GUI (Graphical User Interface) library for Python. It provides set of tools for creating graphical user interfaces that are portable across multiple platforms, including Windows, macOS and Linux. Tkinter provides simple and intuitive way to create windows, dialogs, buttons, labels and other GUI elements using Python. with Tkinter, you can create different types of applications, from simple desktop applications to more complex ones, such as data visualization tools, games and multimedia players. Tkinter is included with most Python installations and is easy to learn and use, making it a popular choice for many Python developers.
How to Build Charts with TKinter ?
If you want to build charts with Tkinter, you can use Canvas widget to create custom chart visualizations. these are the steps you can follow:
- Import the Tkinter library: import tkinter as tk
- Create window using Tkinter’s Tk() method: root = tk.Tk()
- Create Canvas widget in the window usingCanvas() method: canvas = tk.Canvas(root, width=400, height=300)
- Draw shapes on the canvas to represent data. for example to draw bar chart you can create rectangles on the canvas using the create_rectangle() method.
- Position the shapes on the canvas using coordinates. You can use create_text() method to add labels to the chart.
- Pack the canvas into the window using pack() method: canvas.pack()
- Start the main event loop to display the window: root.mainloop()
Here is an example that creates a bar chart with Tkinter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import tkinter as tk root = tk.Tk() canvas = tk.Canvas(root, width=400, height=300) data = [10, 20, 30, 40, 50] bar_width = 50 x_offset = 0 for value in data: canvas.create_rectangle(x_offset, 300-value, x_offset+bar_width, 300, fill="blue") x_offset += bar_width canvas.pack() root.mainloop() |
This example creates canvas with width of 400 and height of 300, and draws five blue rectangles on the canvas, with each rectangle representing a value from the data list.
Run the complete code and this will be the result.

Learn More on Python
- Python Best Libraries for Web Development
- How to Make an Instagram Bot
- How to send Message to Instagram with Python
- Build Python REST API with FastAPI
- Python Best Frameworks for Web Development
- Why to Use Python for Web Development
- How to Install TKinter in Windows and Linux