簡體   English   中英

在 python matplotlib 中繪制 (x, y) 坐標列表

[英]Plotting a list of (x, y) coordinates in python matplotlib

我有一個對(a, b)的列表,我想用 python 中的matplotlib作為實際的 xy 坐標進行繪制。 目前,它正在制作兩個圖,其中列表的索引給出了 x 坐標,第一個圖的 y 值是成對中的a s,第二個圖的 y 值是成對中的b s。

澄清一下,我的數據如下所示: li = [(a,b), (c,d), ... , (t, u)]我想做一個只調用plt.plot()不正確。 如果我不需要單線,我可以簡單地做:

xs = [x[0] for x in li]
ys = [x[1] for x in li]
plt.plot(xs, ys)

如何讓 matplotlib 將這些對繪制為 xy 坐標?

根據這個例子

import numpy as np
import matplotlib.pyplot as plt

N = 50
x = np.random.rand(N)
y = np.random.rand(N)

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

將產生:

在此處輸入圖片說明

要將您的數據從成對解壓縮到列表中,請使用zip

x, y = zip(*li)

所以,單線:

plt.scatter(*zip(*li))

如果你有一個 numpy 數組,你可以這樣做:

import numpy as np
from matplotlib import pyplot as plt

data = np.array([
    [1, 2],
    [2, 3],
    [3, 6],
])
x, y = data.T
plt.scatter(x,y)
plt.show()

如果您想繪制一條連接列表中所有點的線

plt.plot(li[:])

plt.show()

這將繪制一條連接列表中所有對的線,作為笛卡爾平面上從列表開始到結束的點。 我希望這就是你想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM