我在元组中有一组点,如下所示:
>>> s
set([(209, 147),
(220, 177),
(222, 181),
(225, 185),
(288, 173),
(211, 155),
(222, 182)])
做这组散点图的正确方法是什么?
我在元组中有一组点,如下所示:
>>> s
set([(209, 147),
(220, 177),
(222, 181),
(225, 185),
(288, 173),
(211, 155),
(222, 182)])
做这组散点图的正确方法是什么?
你可以做:
x,y = zip(*s)
plt.scatter(x, y)
甚至在“单线”中:
plt.scatter(*zip(*s))
zip()
可用于打包和解包数组,当您调用 using 时method(*list_or_tuple)
,列表或元组中的每个元素都作为参数传递。
x = []; y=[]
for point in s:
x.append(point[0])
y.append(point[1])
plt.scatter(x,y)
如果你想使用 NumPy 数组,你可以使用:
data = np.array(list(s))
首先转换s
为列表,然后转换为 NumPy 数组。
现在您有一个列表 op points,要获取 x 和 y 的列表,您可以使用:
xs = data.transpose()[0] # or xs = data.T[0] or xs = data[:,0]
ys = data.transpose()[1]
并制作一个情节:
plt.plot(xs, ys, 'ro')