Làm cách nào để bạn gắn nhãn một dòng trên biểu đồ trong python?

Matplotlib có thể hơi khó sử dụng. Tôi đặc biệt gặp khó khăn với việc hiển thị giá trị của các điểm dữ liệu trên các ô của mình. Ban đầu tôi nghĩ rằng đây sẽ là một nhiệm vụ đơn giản, nhưng tôi phát hiện ra rằng nó không hoàn toàn dễ dàng như tôi mong đợi. Do đó, trong bài đăng này, tôi giải thích cách bạn có thể làm điều đó và tôi sẽ làm cho nó đơn giản dễ hiểu nhất có thể

Hãy bắt đầu bằng cách tạo một vài điểm dữ liệu ngẫu nhiên để làm việc với

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(1, 21)
y = np.random.randint(20, size=20)
print(x)
print(y)
>>>[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]
>>>[9 13 19 8 13 3 19 17 12 4 7 0 3 9 14 0 11 17 6 10]

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
1 tạo một mảng NumPy với các số từ 1 đến 20. Số đầu tiên là bao gồm và số cuối cùng là độc quyền

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
2 tạo ra 20 giá trị ngẫu nhiên trong khoảng từ 0 đến 20, (0 được bao gồm 20 không). Nếu bạn tự chạy mã, bạn sẽ nhận được các giá trị khác nhau

Tiếp theo, chúng ta có thể chỉ cần vẽ dữ liệu. Phần này dễ dàng với Matplotlib. Chỉ cần gọi hàm

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
3 và cung cấp các giá trị x và y của bạn. Gọi hàm
plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
4 xuất ra cốt truyện một cách trực quan

plt.plot(x, y)
plt.show()

Cốt truyện được tạo bởi tác giả

Để làm cho nó thú vị hơn một chút, hãy sửa đổi cốt truyện thêm một chút. Tôi nghĩ sẽ thật tuyệt nếu thêm tiêu đề chính, mô tả trên các trục và tăng kích thước

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()

Kích thước của ô có thể được đặt bằng cách sử dụng

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
5. Lưu ý rằng điều quan trọng là phải gọi cho
plt.plot(x, y)
plt.show()
0 trước khi bạn gọi cho
plt.plot(x, y)
plt.show()
1, nếu không bạn sẽ nhận được kết quả không mong muốn. Ngoài ra, lưu ý rằng kích thước của ô được đo bằng inch chứ không phải pixel

Nhãn trên các trục và tiêu đề có thể được đặt đơn giản bằng cách sử dụng

plt.plot(x, y)
plt.show()
2
plt.plot(x, y)
plt.show()
3 và
plt.plot(x, y)
plt.show()
4. Tham số kích thước trong ba chức năng này xác định kích thước phông chữ của nhãn

Kết quả của đoạn mã như sau

Cốt truyện được tạo bởi tác giả

Chúng tôi vẫn đang thiếu các giá trị cho các giá trị y trên chính các điểm dữ liệu. Chúng tôi có thể giới thiệu chúng bằng cách thêm các văn bản trong một vòng lặp đại diện cho giá trị y cho mọi tọa độ x. Nhưng trước khi chúng tôi có thể làm điều đó, trước tiên chúng tôi cần thêm một dòng mã bổ sung vào đầu. Các dòng mã mới được thêm vào được viết bằng phông chữ đậm

________số 8

Dòng đầu tiên thực hiện cuộc gọi đến

plt.plot(x, y)
plt.show()
5 để tạo hai đối tượng cho chúng tôi và lưu trữ chúng trong
plt.plot(x, y)
plt.show()
6 và
plt.plot(x, y)
plt.show()
7. Đối tượng
plt.plot(x, y)
plt.show()
6 được sử dụng để sửa đổi hình, nhưng chúng ta sẽ không khám phá thêm về điều đó trong bài đăng này. Đối tượng
plt.plot(x, y)
plt.show()
7 là một ô con mà chúng ta có thể sử dụng để thêm văn bản vào cốt truyện

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
0 cho phép chúng tôi thêm một văn bản vào cốt truyện tại một vị trí nhất định. Hai tham số đầu tiên đại diện cho tọa độ x và y của văn bản. Tham số thứ ba là giá trị thực mà văn bản nên có, và cuối cùng là tham số kích thước quyết định kích thước phông chữ của văn bản

Bằng cách lặp qua

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
1, chúng tôi tạo ra 20 văn bản. Một cho mỗi tọa độ x trong dữ liệu của chúng tôi. Chúng ta xem kết quả của đoạn mã trên bên dưới

Cốt truyện được tạo bởi tác giả

Mẹo. Nếu bạn nghĩ rằng các giá trị trên biểu đồ khó đọc vì chúng nằm ngay trên đầu của đường được vẽ, bạn chỉ cần thêm một lượng nhỏ vào tham số vị trí y trong

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
0

Tôi nghĩ rằng khả năng đọc của biểu đồ có thể được cải thiện hơn nữa bằng cách tăng tần suất của dấu x và y để khớp với giá trị thực của x và giá trị có thể có của y. Điều này có thể được thực hiện bằng cách thêm các giá trị x làm tham số cho

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
3 và các giá trị từ 0 đến 19 trong danh sách làm tham số cho
plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
4. Ngoài ra, như một điểm nhấn cuối cùng cho cốt truyện, tôi cũng muốn thêm các đường lưới. Điều này đạt được bằng cách gọi
plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
5 như hình bên dưới

plt.figure(figsize=(8,8))
plt.plot(x, y)
plt.xlabel("x values", size=12)
plt.ylabel("y values", size=12)
plt.title("Learning more about pyplot with random numbers chart", size=15)
plt.show()
0

Cốt truyện được tạo bởi tác giả

Đó là nó. Bây giờ bạn đã biết cách làm cho biểu đồ của mình dễ đọc hơn bằng cách thêm nhãn giải thích cho biểu đồ

Matplotlib cho phép bạn làm được nhiều điều với các ô của mình, nhiều hơn những gì tôi đã đề cập ở đây. Trong bài viết này, tôi đã đề cập đến một số điều nhỏ mà tôi đã phải vật lộn để làm việc chính xác. Tôi hy vọng bạn tìm thấy nó hữu ích