如何在python中散布二维列表?

时间:2017-10-31 09:48:10

标签: python plot scatter

如何将绘图的一对列表分散,绘图的每个轴代表python中该对中的一个值?我的列表看起来像这样

[(62725984, 63548262), (64797631, 64619047), (65069350, 65398449), (58960696, 57416785), (58760119, 58666604), (60470606, 61338129), (60728760, 59001882)]

3 个答案:

答案 0 :(得分:2)

尝试以下代码:

import matplotlib.pyplot
import pylab
list1 = [(62725984, 63548262), (64797631, 64619047), (65069350, 65398449), (58960696, 57416785), (58760119, 58666604), (60470606, 61338129), (60728760, 59001882)]
list1 = list(zip(*list1))
pylab.scatter(list(list1[0]),list(list1[1]))
pylab.show()

答案 1 :(得分:2)

这应该很容易。您可以将对提取为两个变量,如下所示:

x,y = zip(*<name_of_your_2d_list>)

此外,您可以将其传递给scatter函数

matplotlib.pyplot.scatter(*zip(*<name_of_your_2d_list>)

尝试以下方法。它应该工作:

import matplotlib.pyplot, pylab

data = [(62725984, 63548262), (64797631, 64619047), (65069350, 65398449), (58960696, 57416785), (58760119, 58666604), (60470606, 61338129), (60728760, 59001882)]

matplotlib.pyplot.scatter(*zip(*data)) 
matplotlib.pyplot.show()

答案 2 :(得分:0)

您可以使用下面的功能。

import matplotlib.pyplot as plt

def scatter_plot(list):
  x = []
  y = []
  for i in list:
    x.append(i[0])
    y.append(i[1])

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

只需使用以下功能即可。

scatter_plot(list_of_list)