[英]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.