Biểu đồ thanh hoặc biểu đồ thanh là biểu đồ hoặc biểu đồ trình bày dữ liệu phân loại với các thanh hình chữ nhật có chiều cao hoặc chiều dài tỷ lệ thuận với các giá trị mà chúng đại diện. Các thanh có thể được vẽ theo chiều dọc hoặc chiều ngang.
Một biểu đồ thanh hiển thị so sánh giữa các danh mục riêng biệt. Một trục của biểu đồ cho thấy các loại cụ thể được so sánh và trục khác đại diện cho giá trị đo được.
API Matplotlib cung cấp hàm thanh () có thể được sử dụng trong kiểu MATLAB sử dụng cũng như API hướng đối tượng. Chữ ký của hàm thanh () được sử dụng với đối tượng trục như sau -bar() function that can be used in the MATLAB style use as well as object oriented API. The signature of bar() function to be used with axes object is as follows −
ax.bar(x, height, width, bottom, align)Hàm tạo ra một biểu đồ thanh với hình chữ nhật ràng buộc có kích thước (x −width = 2; x + width = 2; dưới cùng + chiều cao).
Các tham số cho hàm là -
x | Trình tự vô hướng đại diện cho tọa độ X của các thanh. Căn chỉnh điều khiển nếu X là trung tâm thanh (mặc định) hoặc cạnh trái. |
Chiều cao | vô hướng hoặc chuỗi vô hướng biểu thị (các) chiều cao của các thanh. |
bề rộng | vô hướng hoặc giống như mảng, tùy chọn. chiều rộng của các thanh mặc định 0.8 |
đáy | vô hướng hoặc giống như mảng, tùy chọn. Các tọa độ y của các thanh mặc định không có. |
căn chỉnh | {‘Center,‘ Edge,}, tùy chọn, mặc định ‘trung tâm |
Hàm trả về một đối tượng container matplotlib với tất cả các thanh.
Sau đây là một ví dụ đơn giản về lô thanh matplotlib. Nó cho thấy số lượng sinh viên đăng ký cho các khóa học khác nhau được cung cấp tại một học viện.
import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes([0,0,1,1]) langs = ['C', 'C++', 'Java', 'Python', 'PHP'] students = [23,17,35,29,12] ax.bar(langs,students) plt.show()Khi so sánh một số đại lượng và khi thay đổi một biến, chúng ta có thể muốn một biểu đồ thanh nơi chúng ta có các thanh có một màu cho một giá trị số lượng.
Chúng ta có thể vẽ nhiều biểu đồ thanh bằng cách chơi với độ dày và vị trí của các thanh. Biến dữ liệu chứa ba loạt bốn giá trị. Kịch bản sau đây sẽ hiển thị ba biểu đồ thanh của bốn thanh. Các thanh sẽ có độ dày 0,25 đơn vị. Mỗi biểu đồ thanh sẽ được thay đổi 0,25 đơn vị từ số trước. Đối tượng dữ liệu là một đa số có chứa số lượng sinh viên được thông qua trong ba chi nhánh của một trường đại học kỹ thuật trong bốn năm qua.
import numpy as np import matplotlib.pyplot as plt data = [[30, 25, 50, 20], [40, 23, 51, 17], [35, 22, 45, 19]] X = np.arange(4) fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.bar(X + 0.00, data[0], color = 'b', width = 0.25) ax.bar(X + 0.25, data[1], color = 'g', width = 0.25) ax.bar(X + 0.50, data[2], color = 'r', width = 0.25)Các bảng xếp hạng thanh xếp chồng xếp các thanh đại diện cho các nhóm khác nhau trên nhau. Chiều cao của thanh kết quả cho thấy kết quả kết hợp của các nhóm.
Tham số dưới cùng tùy chọn của hàm pyplot.bar () cho phép bạn chỉ định giá trị bắt đầu cho thanh. Thay vì chạy từ 0 đến một giá trị, nó sẽ đi từ dưới cùng đến giá trị. Cuộc gọi đầu tiên đến pyplot.bar () vẽ các thanh màu xanh. Cuộc gọi thứ hai đến pyplot.bar () vẽ các thanh màu đỏ, với phần dưới của các thanh màu xanh nằm trên đỉnh của các thanh màu đỏ.pyplot.bar() function allows you to specify a starting value for a bar. Instead of running from zero to a value, it will go from the bottom to the value. The first call to pyplot.bar() plots the blue bars. The second call to pyplot.bar() plots the red bars, with the bottom of the blue bars being at the top of the red bars.
import numpy as np import matplotlib.pyplot as plt N = 5 menMeans = (20, 35, 30, 35, 27) womenMeans = (25, 32, 34, 20, 25) ind = np.arange(N) # the x locations for the groups width = 0.35 fig = plt.figure() ax = fig.add_axes([0,0,1,1]) ax.bar(ind, menMeans, width, color='r') ax.bar(ind, womenMeans, width,bottom=menMeans, color='b') ax.set_ylabel('Scores') ax.set_title('Scores by group and gender') ax.set_xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5')) ax.set_yticks(np.arange(0, 81, 10)) ax.legend(labels=['Men', 'Women']) plt.show()Tạo thanh
Với PYPLOT, bạn có thể sử dụng chức năng bar() để vẽ đồ thị thanh:
Thí dụ
Vẽ 4 thanh:
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y) plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Hàm bar() có các đối số mô tả bố cục của các thanh.
Các danh mục và giá trị của chúng được biểu thị bằng đối số thứ nhất và thứ hai là mảng.
Thanh ngang
Nếu bạn muốn các thanh được hiển thị theo chiều ngang thay vì theo chiều dọc, hãy sử dụng hàm barh():
Thí dụ
Vẽ 4 thanh:
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y) plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Hàm bar() có các đối số mô tả bố cục của các thanh.
Các danh mục và giá trị của chúng được biểu thị bằng đối số thứ nhất và thứ hai là mảng.
Thí dụ
Vẽ 4 thanh:
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y, color = "red") plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Tên màu
Bạn có thể sử dụng bất kỳ trong số 140 tên màu được hỗ trợ.
Thí dụ
Vẽ 4 thanh "HOT Pink":
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y, color = "hotpink") plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Tên màu
Bạn có thể sử dụng bất kỳ trong số 140 tên màu được hỗ trợ.
Thí dụ
Vẽ 4 thanh "HOT Pink":
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as
np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y, color = "hotpink") plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Tên màu
Bạn có thể sử dụng bất kỳ trong số 140 tên màu được hỗ trợ.
Thí dụ
Vẽ 4 thanh "HOT Pink":
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y, color = "hotpink") plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Tên màu
Bạn có thể sử dụng bất kỳ trong số 140 tên màu được hỗ trợ. For horizontal bars, use import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes([0,0,1,1]) langs = ['C', 'C++', 'Java', 'Python', 'PHP'] students = [23,17,35,29,12] ax.bar(langs,students) plt.show() 2 instead of import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_axes([0,0,1,1]) langs = ['C', 'C++', 'Java', 'Python', 'PHP'] students = [23,17,35,29,12] ax.bar(langs,students) plt.show() 1.
Thí dụ
Vẽ 4 thanh "HOT Pink":
Thí dụ
Vẽ 4 thanh "HOT Pink":
Nhập matplotlib.pyplot dưới dạng pltimport numpy như np
import numpy as np
x = np.array (["a", "b", "c", "d"]) y = np.array ([3, 8, 1, 10])
y = np.array([3, 8, 1, 10])
plt.bar (x, y, color = "hotpink") plt.show ()
plt.show()
Result:
Hãy tự mình thử »
Tên màu