Cách in một đường thẳng đứng trong Python

Có thể thêm các đường ngang và dọc và hình chữ nhật bao trùm toàn bộ ô thông qua các phương pháp add_hline, add_vline, add_hrectadd_vrect của plotly.graph_objects.Figure. Hình dạng được thêm bằng các phương pháp này được thêm dưới dạng hình dạng bố cục (chẳng hạn như được hiển thị khi thực hiện print(fig)). Các hình dạng này được cố định vào các điểm cuối của một trục, bất kể phạm vi của biểu đồ và được cố định vào tọa độ dữ liệu trên trục kia. Phần sau đây cho thấy một số khả năng, hãy thử xoay và thu phóng hình kết quả để xem các hình dính vào một số trục như thế nào

Matplotlib là một trong những thư viện phổ biến nhất của python. Nó được sử dụng rộng rãi để vẽ đồ thị, hình ảnh động, v.v. Nhiều khi người lập trình cần kẻ các đường thẳng đứng trong cốt truyện. Điều này có thể là để tách hai biểu đồ hoặc tạo sự khác biệt khác

Bài viết này sẽ hướng dẫn chúng ta cách vẽ các đường thẳng đứng trong matplotlib

Tạo một đường thẳng đứng

Vẽ đồ thị dọc đơn bằng phương pháp axvline()

Đây là một trong những cách phổ biến nhất để tạo các đường thẳng đứng trong matplotlib. Đúng như tên gọi, chức năng này sẽ tạo một đường trục tung

Ví dụ

import matplotlib.pyplot as plt
def vertical_line():
    plt.figure(figsize=(10,5))
    plt.axvline(x=7,color="red")
def main():
    vertical_line()
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 1

Giải trình

Đoạn mã trên có thể được giải thích như sau

  1. Trước tiên, chúng tôi đã nhập tất cả các thư viện cần thiết trong mã bằng cách sử dụng câu lệnh nhập. Chúng tôi đã nhập matplotlib. mô-đun pyplot tại đây. Chúng tôi đã sử dụng tên bí danh để thuận tiện
  2. Sau đó, chúng tôi đã tạo một hàm do người dùng xác định có tên vertical_line. Nó không có tham số
  3. Chúng tôi đã tạo một lớp hình bằng cách sử dụng hàm figure(). Sau đó, chúng tôi đã chuyển thuộc tính figsize để chỉ định kích thước của hình. Chúng tôi đã chỉ định 10 và 5 làm giá trị ở đây
  4. Sau đó, chúng tôi đã sử dụng hàm axvline() để vẽ các đường thẳng đứng trong ô. Chúng tôi đã chỉ định đối số màu cho đường thẳng đứng và màu đỏ là màu của nó. Chúng tôi cũng đã chuyển một đối số khác - giá trị của x. Ở đây x=7 có nghĩa là đường thẳng đứng phải nằm trên x=7
  5. Sau đó, chúng tôi đã tạo hàm main(). Đây là phần chính của mã. Chúng tôi đã gọi hàm vertical_line() mà không truyền bất kỳ đối số nào
  6. Cuối cùng chúng tôi đã gọi hàm chính bằng đoạn mã sau

if __name__ == "__main__":
                main()

Chúng ta cũng có thể thêm nhiều thuộc tính khác vào biểu đồ, giống như chúng ta làm với bất kỳ biểu đồ nào khác

Ví dụ

import matplotlib.pyplot as plt
def vertical_line():
    plt.figure(figsize=(10,5))
    plt.xlabel("x values")
    plt.ylabel("y values")
    plt.axvline(x=7,color="green")
    plt.title("Demonstrating vertical line")
    plt.show()
def main():
    vertical_line()
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 2

Vẽ một đường thẳng đứng bằng phương pháp vlines()

Một phương pháp khác là sử dụng phương thức vlines(). Cái này cũng thực hiện chức năng tương tự như cái trước. Tuy nhiên, điều này được sử dụng phổ biến hơn với bộ dữ liệu

thông số liên quan

  • x. Tọa độ của x mà đường thẳng đứng sẽ được hiển thị
  • màu sắc. Màu của đường thẳng đứng
  • cách sống. Kiểu của đường thẳng đứng sẽ được sử dụng. Có rất nhiều phong cách có sẵn. Ví dụ, '-','. ' vân vân
  • ymin. Giá trị y thấp nhất của đường thẳng đứng
  • ymax. Giá trị y cao nhất của đường thẳng đứng

Ví dụ

import matplotlib.pyplot as plt
def vertical_line():
    plt.figure(figsize=(10,5))
    plt.xlabel("x values")
    plt.ylabel("y values")
    plt.vlines(x=7,color="green",ymin=1,ymax=20)
    plt.title("Demonstrating vertical line")
    plt.show()
def main():
    vertical_line()
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 3

Giải trình

Đoạn mã trên có thể được giải thích như sau

  1. Chúng tôi đã nhập tất cả các mô-đun và thư viện cần thiết vào mã. Ở đây chúng tôi đã nhập matplotlib. pyplot sử dụng tên bí danh của họ là plt
  2. Bây giờ chúng ta đã tạo hàm do người dùng định nghĩa có tên là hàm vertical_line(). Sau đó, chúng tôi đã tạo lớp hình bằng cách sử dụng hàm hình (). Chúng tôi đã chỉ định kích thước của hình
  3. Chúng tôi đã chuyển xlabel và ylabel bằng cách sử dụng các hàm xlabel() và ylabel() tương ứng
  4. Sau đó, chúng tôi vẽ các đường thẳng đứng bằng hàm vlines(). Trước tiên, chúng tôi đã chuyển giá trị của x đến tọa độ nơi đường thẳng đứng sẽ nằm. Sau đó, chúng tôi đã chuyển các tham số khác như màu sắc, giới hạn y, v.v.
  5. Chúng tôi cũng đã chuyển tiêu đề cho cốt truyện. Cuối cùng, chúng tôi đã hiển thị cốt truyện bằng plt. chức năng hiển thị ()
  6. Sau đó, chúng tôi đã tạo chức năng chính mà chúng tôi gọi là chức năng vertical_line()

Cuối cùng, chúng tôi đã gọi chức năng chính bằng đoạn mã sau

if __name__ == "__main__":
               main()

Vẽ một đường thẳng đứng bằng hàm plot()

Hàm plot() chủ yếu được sử dụng để vẽ đồ thị 2D. Chúng ta cần chỉ định một kỹ thuật duy nhất để có được đường thẳng đứng của hình. Chức năng này không dành riêng cho việc vẽ các đường thẳng đứng. Do đó chúng ta cần truyền các tham số cụ thể cho hàm để lấy đường thẳng đứng

Chúng ta cần truyền các đối số sau

(giá trị đầu x, giá trị cuối x),(giá trị đầu y, giá trị cuối y)

Ví dụ

import matplotlib.pyplot as plt
def vertical_line(x,y1,y2):
    plt.figure(figsize=(10,5))
    plt.xlabel("x values")
    plt.ylabel("y values")
    plt.plot((x,x),(5,9))
    plt.title("Demonstrating vertical line")
    plt.show()
def main():
    x=2
    y1=2
    y2=7
    vertical_line(x,y1,y2)
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
hinh 4

Giải trình

Đoạn mã trên có thể được giải thích như sau

  1. Chúng tôi đã nhập các mô-đun cần thiết bằng tên bí danh bằng câu lệnh nhập
  2. Chúng tôi đã tạo một hàm vertical_line(). Nó sẽ nhận ba tham số x, y1 và y2. Chúng ta đã tạo lớp figure bằng hàm figure()
  3. Sau đó, chúng tôi đã tạo các nhãn bằng cách sử dụng các hàm xlabel() và ylabel()
  4. Chúng tôi đã vẽ đường thẳng đứng bằng cách sử dụng plt. hàm lô (). Đối với điều đó, chúng tôi đã đưa ra các lập luận sau đây

(x,x),(5,9)

  1. Sau đó, chúng tôi đặt tiêu đề của cốt truyện và cuối cùng hiển thị cốt truyện
  2. Bây giờ chúng ta đã tạo hàm main(). Ở đây chúng tôi đã chỉ định các giá trị của x, y1 và y2. Sau đó, chúng tôi gọi hàm vertical_line() và chuyển x,y1,y2 làm đối số
  3. Cuối cùng, chúng ta đã gọi hàm main() bằng đoạn mã sau

if __name__ == "__main__":
    main()

Ghi chú. Chúng tôi đã viết một bài báo về các đường ngang mà bạn có thể đọc ở đây. Cách vẽ các đường ngang trong Matplotlib

Tạo nhiều đường thẳng đứng

Chúng ta cũng có thể tạo nhiều đường thẳng đứng trong matplotlib. Đối với điều này, chúng ta cần sử dụng nhiều chức năng như vậy

Vẽ nhiều đường thẳng đứng bằng hàm axvlines()

Ví dụ

import matplotlib.pyplot as plt
def vertical_line():
    plt.figure(figsize=(10,5))
    plt.xlabel("x values")
    plt.ylabel("y values")
    for i in range(1,10):
        plt.axvline(x=i,color="orange")
    plt.title("Demonstrating Multiple Vertical Lines")
    plt.show()
def main():
    vertical_line()
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 5

Vẽ nhiều đường thẳng đứng bằng hàm vlines()

Rõ ràng ngay từ cái tên, đây là cách viết tắt của các đường thẳng đứng mà chúng tôi sử dụng phương pháp vlines để vẽ các đường thẳng đứng khác nhau trên các trục

Ví dụ

________số 8_______

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 6

Vẽ nhiều đường thẳng đứng bằng hàm plot()

Ví dụ

import matplotlib.pyplot as plt
def vertical_line():
    plt.figure(figsize=(10,5))
    plt.xlabel("x values")
    plt.ylabel("y values")
    plt.plot((0,0),(1,5))
    plt.plot((1,1),(2,15))
    plt.plot((1,1),(2,5))
    plt.plot((2,2),(2,8))
    plt.plot((3,3),(3,9))
    plt.title("Demonstrating Multiple Vertical Line")
    plt.show()
def main():
    vertical_line()
if __name__ == "__main__":
    main()

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 7

Ghi chú. Chúng ta không cần chuyển các đối số màu cho các ô để làm cho chúng khác biệt. Chức năng vẽ đồ thị sẽ tự động gán các giá trị khác nhau cho từng ô. Đây là một trong những ưu điểm của chức năng này

Chúng tôi cũng có thể sử dụng tất cả các chức năng trong cùng một mã. Điều này có thể được thực hiện như sau

Ví dụ

if __name__ == "__main__":
                main()
0

đầu ra

Cách in một đường thẳng đứng trong Python
Hình 8

suy nghĩ cuối cùng

Trong bài viết này, chúng ta đã học cách tạo các đường thẳng đứng trong matplotlib. Chúng tôi đã thảo luận chủ yếu về ba chức năng được gọi là dây leo, cốt truyện và axvline. Chức năng vẽ ô sẽ tự động gán các màu khác nhau cho các ô khác nhau. Tuy nhiên, các chức năng khác sẽ gán các màu tương tự cho tất cả các đường thẳng đứng

Người đọc được khuyến khích xem tài liệu python matplotlib để khám phá thêm về các thuộc tính và chức năng liên quan