Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Biểu đồ thanh hoặc biểu đồ thanh hiển thị dữ liệu phân loại với các thanh hình chữ nhật song song có chiều rộng bằng nhau dọc theo một trục. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách vẽ đồ thị/biểu đồ thanh tiêu chuẩn và các biến thể khác của nó như biểu đồ thanh đôi, biểu đồ thanh xếp chồng và biểu đồ thanh ngang bằng thư viện Python Matplotlib

Chúng ta sẽ bắt đầu với biểu đồ thanh tiêu chuẩn. Chúng ta sẽ vẽ đồ thị để biểu thị gia tốc do trọng trường $g$ trên Sao Thủy (3. 76$m/s^{2}$), sao Kim (9. 04$m/s^{2}$), Trái đất (9. 8$m/s^{2}$) và Mars (3. 77$m/s^{2}$)

Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?
Sao Thủy, Sao Kim, Trái Đất và Sao Hỏa. Phạm vi công cộng

Ở đây, chúng tôi sử dụng một trong nhiều kiểu được xác định trước có sẵn trong Matplotlib, được gọi là

				
					$python3 bar.py
				
			
6, mà chúng tôi chuyển làm đối số cho hàm
				
					$python3 bar.py
				
			
7 thuộc gói
				
					$python3 bar.py
				
			
8

				
					import matplotlib.pyplot as plt
					import numpy as np
					plt.style.use('ggplot')
					x = ['Mercury', 'Venus', 'Earth', 'Mars']
					g = [3.76,9.04,9.8,3.77]
					x_pos = np.arange(len(x))
					plt.bar(x_pos, g, color='#7ed6df')
					plt.xlabel("Planets")
					plt.ylabel("g")
					plt.title("Acceleration Due to Gravity")
					plt.xticks(x_pos, x)
					plt.show()
				
			

Bạn có thể lưu chương trình này dưới dạng

				
					$python3 bar.py
				
			
9 bên trong một số thư mục, chẳng hạn như,
				
					$python3 bar.py
				
			
0, điều hướng đến nó và chạy nó

				
					$python3 bar.py
				
			

Biểu đồ được tạo trông như sau

Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Biểu đồ thanh đôi/Đồ thị

Hai biểu đồ thanh có thể được vẽ cạnh nhau để biểu thị các biến phân loại. Biểu đồ như vậy được gọi là biểu đồ thanh đôi. Trong ví dụ bên dưới, chúng tôi vẽ biểu đồ thanh đôi để biểu thị số điểm mà AC Milan và Inter ghi được giữa các mùa giải 1995-96 và 1999-00, đặt cạnh nhau

Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?
Liên Minh Huyền Thoại. tháng 11. 24, 1996, San Siro. Phạm vi công cộng
					
						import numpy as np
						import matplotlib.pyplot as plt
						plt.style.use('ggplot')
						n = 5
						milan= (73, 43, 44, 70, 61)
						inter = (54, 59, 69, 46, 58)
						fig, ax = plt.subplots()
						index = np.arange(n)
						bar_width = 0.35
						opacity = 0.9
						ax.bar(index, milan, bar_width, alpha=opacity, color='r',
						                label='Milan')
						ax.bar(index+bar_width, inter, bar_width, alpha=opacity, color='b',
						                label='Inter')
						ax.set_xlabel('Seasons')
						ax.set_ylabel('Points')
						ax.set_title('Milan v/s Inter')
						ax.set_xticks(index + bar_width / 2)
						ax.set_xticklabels(('1995-96','1996-97','1997-98','1998-99','1999-00'
						    ))
						ax.legend()
						plt.show()
					
				
Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Biểu đồ/Đồ thị dạng thanh nhóm

Chúng ta cũng có thể đặt nhiều hơn hai biểu đồ thanh cạnh nhau. Hãy để chúng tôi thêm số điểm do Juventus ghi được vào biểu đồ của chúng tôi trong ví dụ trên. Nói chung, các biểu đồ như vậy được gọi là biểu đồ thanh nhóm. Biểu đồ thanh đôi cũng là biểu đồ thanh cụm. Lần này chúng ta đặt chú giải theo chiều ngang bằng cách đặt

				
					$python3 bar.py
				
			
1 bên trong hàm
				
					$python3 bar.py
				
			
2

					
						import numpy as np
						import matplotlib.pyplot as plt
						plt.style.use('ggplot')
						n = 5
						milan= (73, 43, 44, 70, 61)
						inter = (54, 59, 69, 46, 58)
						juventus = (65, 65, 74, 54, 71)
						fig, ax = plt.subplots()
						index = np.arange(n)
						bar_width = 0.3
						opacity = 0.9
						ax.bar(index, milan, bar_width, alpha=opacity, color='r',
						                label='Milan')
						ax.bar(index+bar_width, inter, bar_width, alpha=opacity, color='b',
						                label='Inter')
						ax.bar(index+2*bar_width, juventus, bar_width, alpha=opacity, 
							color='k', label='Juventus')
						ax.set_xlabel('Seasons')
						ax.set_ylabel('Points')
						ax.set_title('Milan v/s Inter v/s Juventus')
						ax.set_xticks(index + bar_width)
						ax.set_xticklabels(('1995-96','1996-97','1997-98','1998-99','1999-00'
						    ))
						ax.legend(ncol=3)
						plt.show()
					
				
Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Biểu đồ thanh xếp chồng lên nhau/Đồ thị

Ngoài ra, dữ liệu có thể được biểu diễn bằng cách xếp chồng lên nhau trong các cột dọc. Những biểu đồ như vậy được gọi là biểu đồ thanh xếp chồng lên nhau. Chúng tôi sẽ minh họa điều đó bằng cách hiển thị kết quả chung cuộc của giải cầu lông đôi nam tại Thế vận hội Mùa hè 2016 ở Riocentro, Brazil, giữa các tay vợt đến từ Trung Quốc và Malaysia với tỷ số 16-21, 21-11, 23-21 trong trận nhất, nhì và

					
						import numpy as np
						import matplotlib.pyplot as plt
						n = 3
						china = (16,21,23)
						malaysia = (21,11,21)
						x = np.arange(n)
						width = 0.35
						p1 = plt.bar(x, malaysia, width, color='b')
						p2 = plt.bar(x, china, width, color='r', bottom=malaysia)
						plt.ylabel('Points')
						plt.title('China v/s Malaysia')
						plt.xticks(x, ('Round 1', 'Round 2', 'Round 3'))
						plt.yticks(np.arange(0, 60, 5))
						plt.legend((p2[0], p1[0]), ('China', 'Malaysia'))
						plt.show()
					
				
Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Biểu đồ thanh ngang/Đồ thị

Thanh cũng có thể được vẽ theo chiều ngang. Chúng tôi sẽ biểu thị tốc độ tối đa của các siêu xe sau đây dưới dạng biểu đồ thanh ngang. Bugatti Chiron (420 km/h), Hennessey Venom F5 (435 km/h) và Koenigsegg Agera RS (457 km/h). Trong mã Python bên dưới, các màu vạch được đặt riêng cho mỗi ô tô bên trong

				
					$python3 bar.py
				
			
3 là
				
					$python3 bar.py
				
			
4 (
				
					$python3 bar.py
				
			
5 - đen,
				
					$python3 bar.py
				
			
6 - vàng,
				
					$python3 bar.py
				
			
7 - đỏ). Lề trái cho trục $y$ đạt được bằng cách đặt
				
					$python3 bar.py
				
			
8 bên trong hàm
				
					$python3 bar.py
				
			
9

Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?
Hennessey Venom F5 của Alexander Migl. CC BY-SA 4. 0
				
					$python3 bar.py
				
			
5
Làm cách nào để tạo biểu đồ thanh cạnh nhau trong python?

Các ví dụ về Matplotlib

Ngoài ra, bạn có thể xem qua các ví dụ khác nhau cho từng loại biểu đồ có sẵn trên trang Matplotlib chính thức, các liên kết cụ thể được liệt kê trong phần bên dưới