matplotlib 如何绘制二维列表散点图

tktrz96b  于 2023-05-18  发布在  其他
关注(0)|答案(3)|浏览(155)

如何在python中分散绘制一个对列表,其中每个坐标轴都代表该对中的一个值?我的清单是这样的
[(62725984, 63548262), (64797631, 64619047), (65069350, 65398449), (58960696, 57416785), (58760119, 58666604), (60470606, 61338129), (60728760, 59001882)]

n3ipq98p

n3ipq98p1#

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

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()
o2g1uqev

o2g1uqev2#

试试下面的代码:

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()
yhuiod9q

yhuiod9q3#

您可以使用下面的功能。

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)

相关问题