Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?


Để tạo các phân đoạn dòng giữa hai điểm trong matplotlib, chúng ta có thể thực hiện các bước sau

Show
    • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con.
    • Để thực hiện hai điểm, tạo hai danh sách.
    • Trích xuất các giá trị x và y từ điểm1 và điểm2.x and y values from point1 and point2.
    • Vẽ các giá trị x và y bằng phương thức Plot ().x and y values using plot() method.
    • Đặt văn bản cho cả hai điểm.
    • Để hiển thị hình, sử dụng phương thức show ().show() method.

    Thí dụ

    import matplotlib.pyplot as plt
    plt.rcParams["figure.figsize"] = [7.50, 3.50]
    plt.rcParams["figure.autolayout"] = True
    point1 = [1, 2]
    point2 = [3, 4]
    x_values = [point1[0], point2[0]]
    y_values = [point1[1], point2[1]]
    plt.plot(x_values, y_values, 'bo', linestyle="--")
    plt.text(point1[0]-0.015, point1[1]+0.25, "Point1")
    plt.text(point2[0]-0.050, point2[1]-0.25, "Point2")
    plt.show()

    Đầu ra

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Cập nhật vào ngày 02 tháng 6 năm 2021 08:39:05

    • Câu hỏi và câu trả lời liên quan
    • Làm thế nào để tôi tìm thấy giao điểm của hai phân đoạn dòng trong matplotlib?
    • Kiểm tra xem hai phân đoạn dòng có giao nhau không
    • Phóng một khu vực giữa hai điểm trong âm mưu matplotlib
    • Làm thế nào để bạn tạo một huyền thoại cho một cốt truyện đường viền trong matplotlib?
    • Vẽ một đường cong kết nối hai điểm thay vì một đường thẳng trong matplotlib
    • Làm thế nào để bạn cải thiện chất lượng hình ảnh matplotlib?
    • Làm thế nào để bạn thêm hai danh sách trong Java?
    • Số điểm tích phân giữa hai điểm trong C ++
    • Làm thế nào để bạn tạo ra tài sản lồng nhau trong Python?
    • Làm thế nào để bạn tạo một danh sách trong java?
    • Làm thế nào để tạo biểu đồ dòng bằng matplotlib?
    • Làm thế nào để bạn hoặc hai mysql thích câu nói?
    • Làm thế nào để bạn vượt qua một đối số dòng lệnh trong chương trình Java?
    • Làm thế nào để bạn tạo một nhãn Tkinter có thể nhấp?
    • Làm thế nào để bạn tạo một danh sách trống trong java?

    Tôi biết có một câu hỏi rất giống nhau, nhưng tôi không thể trích xuất thông tin tôi cần từ nó.

    âm mưu các dòng theo cặp

    Tôi có 4 điểm trong mặt phẳng

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    3:
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    4 và
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    5

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    

    Bây giờ, tôi có thể vẽ bốn điểm bằng cách làm:

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    

    Nhưng, ngoài bốn điểm, tôi muốn có 2 dòng:

    1) Một kết nối

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    6 với
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    7 và 2) cái thứ hai kết nối
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    8 với
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    9.

    Đây là một ví dụ đồ chơi đơn giản. Trong trường hợp thực sự tôi có 2 điểm trong máy bay.

    Làm cách nào để có được đầu ra mong muốn: cho các điểm với hai dòng kết nối?

    Cảm ơn bạn.

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Borges 8 bit

    9.31527 Huy hiệu vàng89 Huy hiệu bạc175 Huy hiệu Đồng27 gold badges89 silver badges175 bronze badges

    hỏi ngày 12 tháng 2 năm 2016 lúc 13:08Feb 12, 2016 at 13:08

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Tôi nghĩ rằng bạn sẽ cần các dòng riêng cho từng phân đoạn:

    import numpy as np
    import matplotlib.pyplot as plt
    
    x, y = np.random.random(size=(2,10))
    
    for i in range(0, len(x), 2):
        plt.plot(x[i:i+2], y[i:i+2], 'ro-')
    
    plt.show()
    

    (Nhập

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    0 chỉ là thiết lập một số dữ liệu mẫu 2x10 ngẫu nhiên)

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Đã trả lời ngày 12 tháng 2 năm 2016 lúc 13:23Feb 12, 2016 at 13:23

    xnxxnxxnx

    23.7K9 Huy hiệu vàng65 Huy hiệu bạc107 Huy hiệu Đồng9 gold badges65 silver badges107 bronze badges

    2

    Bạn chỉ có thể vượt qua danh sách hai điểm bạn muốn kết nối với

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    1. Để làm cho điều này dễ dàng mở rộng đến bao nhiêu điểm tùy thích, bạn có thể xác định một chức năng như vậy.

    import matplotlib.pyplot as plt
    
    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    plt.plot(x,y, 'ro')
    
    def connectpoints(x,y,p1,p2):
        x1, x2 = x[p1], x[p2]
        y1, y2 = y[p1], y[p2]
        plt.plot([x1,x2],[y1,y2],'k-')
    
    connectpoints(x,y,0,1)
    connectpoints(x,y,2,3)
    
    plt.axis('equal')
    plt.show()
    

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Lưu ý, chức năng đó là một hàm chung có thể kết nối bất kỳ hai điểm nào trong danh sách của bạn với nhau.

    Để mở rộng điều này lên 2n điểm, giả sử bạn luôn kết nối điểm

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    2 với điểm
    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    3, chúng tôi chỉ có thể đặt nó vào một vòng lặp cho vòng lặp:

    import numpy as np
    for i in np.arange(0,len(x),2):
        connectpoints(x,y,i,i+1)
    

    Trong trường hợp đó luôn luôn kết nối điểm

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    2 với điểm
    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    3, bạn có thể chỉ cần làm:

    for i in np.arange(0,len(x),2):
        plt.plot(x[i:i+2],y[i:i+2],'k-')
    

    Đã trả lời ngày 12 tháng 2 năm 2016 lúc 13:21Feb 12, 2016 at 13:21

    tmdavisontmdavisontmdavison

    60.7K12 Huy hiệu vàng171 Huy hiệu bạc154 Huy hiệu đồng12 gold badges171 silver badges154 bronze badges

    1

    Tôi nhận ra câu hỏi này đã được hỏi và trả lời từ lâu, nhưng câu trả lời không đưa ra những gì tôi cảm thấy là giải pháp đơn giản nhất. Hầu như luôn luôn là một ý tưởng tốt để tránh các vòng lặp bất cứ khi nào có thể và

    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    6 của Matplotlib có khả năng vẽ nhiều dòng với một lệnh. Nếu
    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    7 và
    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    8 là mảng, thì
    import matplotlib.pyplot as plt
    
    plt.plot(x,y, 'ro')
    plt.axis('equal')
    plt.show()
    
    6 vẽ một dòng cho mỗi cột.

    Trong trường hợp của bạn, bạn có thể làm như sau:

    x=np.array([-1 ,0.5 ,1,-0.5])
    xx = np.vstack([x[[0,2]],x[[1,3]]])
    y=np.array([ 0.5,  1, -0.5, -1])
    yy = np.vstack([y[[0,2]],y[[1,3]]])
    plt.plot(xx,yy, '-o')
    

    Có một danh sách dài của X và Y, và muốn kết nối các cặp liền kề?

    xx = np.vstack([x[0::2],x[1::2]])
    yy = np.vstack([y[0::2],y[1::2]])
    

    Muốn có một màu (khác nhau) được chỉ định cho các dấu chấm và các dòng?

    plt.plot(xx,yy, '-ok', mfc='C1', mec='C1')
    

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Đã trả lời ngày 28 tháng 5 năm 2020 lúc 20:49May 28, 2020 at 20:49

    JinjerjohnjinjerjohnJinjerJohn

    3632 huy hiệu bạc6 Huy hiệu đồng2 silver badges6 bronze badges

    1

    Sử dụng hàm matplotlib.arrow () và đặt các tham số Head_length và head_width thành 0 để không nhận được "đầu mũi tên". Các kết nối giữa các điểm khác nhau có thể được tính toán bằng cách sử dụng bổ sung vectơ với: a = [1,2], b = [3,4]-> Kết nối giữa A và B là B-A = [2,2]. Vẽ vectơ này bắt đầu từ đầu A kết thúc ở đầu B.

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    0

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Đã trả lời ngày 24 tháng 5 năm 2018 lúc 12:55May 24, 2018 at 12:55

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    2Obe2Obe2Obe

    3.3525 huy hiệu vàng28 Huy hiệu bạc53 Huy hiệu đồng5 gold badges28 silver badges53 bronze badges

    Với mã bên dưới, bạn có thể tạo nhiều dòng bằng cách kết nối các điểm nhờ tọa độ của chúng:

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    1

    Kết quả

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    đã trả lời vào ngày 30 tháng 1 lúc 0:02Jan 30 at 0:02

    Hướng dẫn how do you plot a line between points in python? - làm thế nào để bạn vẽ một đường giữa các điểm trong python?

    Julien Jmjulien JMJulien Jm

    2.1402 Huy hiệu vàng22 Huy hiệu bạc27 Huy hiệu đồng2 gold badges22 silver badges27 bronze badges

    Tôi thích

    import numpy as np
    import matplotlib.pyplot as plt
    
    x, y = np.random.random(size=(2,10))
    
    for i in range(0, len(x), 2):
        plt.plot(x[i:i+2], y[i:i+2], 'ro-')
    
    plt.show()
    
    0 trong matplotlib. Xem mã tối thiểu sau:

    x=[-1 ,0.5 ,1,-0.5]
    y=[ 0.5,  1, -0.5, -1]
    
    2

    Một ví dụ chi tiết hơn có thể được tìm thấy ở đây.

    Đã trả lời ngày 11 tháng 9 năm 2021 lúc 1:48Sep 11, 2021 at 1:48

    JiadongjiadongJiadong

    1.54415 huy hiệu bạc34 huy hiệu đồng15 silver badges34 bronze badges