Biểu đồ hoặc đồ thị 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ệ với các giá trị đại diện. Các thanh có thể được vẽ theo chiều dọc hoặc chiều ngang.
Biểu đồ hiển thị so sánh giữa các categories rời rạc. Một trục của biểu đồ hiển thị các categories cụ thể được so sánh và trục còn lại thể hiện giá trị đo được.
Matplotlib API cung cấp hàm bar () có thể được sử dụng trong việc sử dụng kiểu MATLAB cũng như API. Signaturecủa hàm bar () được sử dụng với axis như sau:
ax.bar(x, height, width, bottom, align)
Hàm tạo một biểu đồ dạng thanh với hình chữ nhật giới hạn có kích thước (x − width = 2; x + width = 2; bottom; bottom + height).
Các tham số của hàm là –
x | dãy vô hướng biểu diễn tọa độ x của các thanh. căn chỉnh các điều khiển nếu x là tâm thanh (mặc định) hoặc cạnh trái. |
---|---|
height | vô hướng hoặc chuỗi các đại lượng vô hướng đại diện cho (các) chiều cao của các thanh. |
width | vô hướng hoặc dạng mảng, tùy chọn. (các) chiều rộng của các thanh mặc định là 0,8 |
bottom | vô hướng hoặc dạng mảng, tùy chọn. (các) tọa độ y của các thanh mặc định Không có. |
align | {‘Center’, ‘edge’}, tùy chọn, ‘center’ mặc định |
Hàm trả về một object chứa Matplotlib với tất cả các thanh bar.
Sau đây là một ví dụ đơn giản về biểu đồ Matplotlib.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 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, ta có thể muốn có một biểu đồ thanh trong đó ta có các thanh có một màu cho một giá trị đại lượng.
Ta có thể vẽ nhiều biểu đồ thanh bằng cách sử dụng độ dày và vị trí của các thanh. Biến dữ liệu chứa ba chuỗi bốn giá trị. Tập lệnh sau sẽ hiển thị ba biểu đồ thanh gồm bốn thanh. Các thanh sẽ có độ dày 0,25 đơn vị. Mỗi biểu đồ sẽ được dịch chuyển 0,25 đơn vị so với biểu đồ trước đó. dữ liệu là một đa sắc số chứa số lượng sinh viên đã đậu vào ba ngành của một trường cao đẳng 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)
Biểu đồ xếp chồng các thanh đại diện cho các nhóm khác nhau và chồng lên nhau. Chiều cao của thanh kết quả hiển thị kết quả tổng 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 một thanh. Thay vì chạy từ 0 đến một giá trị, nó sẽ đi từ dưới cùng đến giá trị. Lệnh gọi đầu tiên tới pyplot.bar () vẽ các thanh màu xanh lam. Lệnh gọi thứ hai tới pyplot.bar () vẽ các thanh màu đỏ, với đáy của các thanh màu xanh nằm trên cùng của các thanh màu đỏ.
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()