Cod*_*lus 91 python plot matplotlib coordinates
我有一个对列表(a, b),我想matplotlib在python中作为实际的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)
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助!
sas*_*llo 150
根据这个例子:
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()
Run Code Online (Sandbox Code Playgroud)
将产生:

要将数据从成对解压缩到列表中,请使用zip:
x, y = zip(*li)
Run Code Online (Sandbox Code Playgroud)
所以,单线:
plt.scatter(*zip(*li))
Run Code Online (Sandbox Code Playgroud)
Zwe*_*end 30
如果你有一个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()
Run Code Online (Sandbox Code Playgroud)
小智 14
如果您想绘制一条连接列表中所有点的线
plt.plot(li[:])
plt.show()
Run Code Online (Sandbox Code Playgroud)
这将绘制一条连接列表中所有对的线,作为笛卡尔平面上从列表开始到结束的点。我希望这就是你想要的。
| 归档时间: |
|
| 查看次数: |
254829 次 |
| 最近记录: |