📌  相关文章
📜  如何在 Matplotlib 中绘制 X、Y 坐标列表?

📅  最后修改于: 2022-05-13 01:54:29.838000             🧑  作者: Mango

如何在 Matplotlib 中绘制 X、Y 坐标列表?

先决条件:

  • Matplotlib
  • 麻木

Matplotlib 是一个综合性的库,用于在Python中创建静态、动画和交互式可视化。要绘制任何数据,最基本的步骤是从创建或加载它开始,本文讨论了将要绘制为列表的数据传递的所有方法。将数据作为列表传递时要记住的一件重要事情是保持 X、Y 列表的大小相同,否则会引发 ValueError。

本文中显示的示例使用散点图,相同的方法可以应用于任何其他类型的图形。

方法一:朴素方法

在这个方法中,坐标只是作为两个列表传递。

方法

  • 导入模块
  • 创建 X 坐标列表
  • 创建 Y 坐标列表
  • 通过这两个列表来绘制函数

例子:

Python3
import matplotlib.pyplot as plt
  
x = [1, 2, 3, 4, 5, 6, 7, 8]
y = [2, 3, 1, 3, 1, 4, 2, 3]
  
plt.scatter(x, y)
plt.show()


Python3
# importing Matplotlib and Numpy Packages
import numpy as np
import matplotlib.pyplot as plt
  
# generating two arrays from 10 to 1 and from 1 to 10
x = np.arange(1, 11, 1)  
y = np.arange(10, 0, -1)  
  
# plot our list in X,Y coordinates
plt.scatter(x, y)
plt.show()


Python3
# importing Matplotlib and Numpy Packages
import numpy as np
import matplotlib.pyplot as plt
  
# The data are given as list of lists (2d list)
data = np.array([
    [1, 4],
    [2, 2],
    [3, 7],
    [4, 6],
    [5, 0],
    [6, 3]
])
# Taking transpose
x, y = data.T
  
  
# plot our list in X,Y coordinates
plt.scatter(x, y)
plt.show()


输出:

方法二:使用numpy数组

使用的函数:排列()

方法

  • 导入模块
  • 为坐标创建numpy数组
  • 将这些数组传递给绘图

例子:

蟒蛇3

# importing Matplotlib and Numpy Packages
import numpy as np
import matplotlib.pyplot as plt
  
# generating two arrays from 10 to 1 and from 1 to 10
x = np.arange(1, 11, 1)  
y = np.arange(10, 0, -1)  
  
# plot our list in X,Y coordinates
plt.scatter(x, y)
plt.show()

输出:

方法 3:列表列表

创建要绘制的所有点的列表列表也是实现我们要求的方法之一。创建这样的列表后,它不能直接传递给绘图,首先需要进行转置以获得 x 和 y 坐标。

方法

  • 导入模块
  • 创建坐标列表列表
  • 转置
  • 将坐标传递给绘图

例子

蟒蛇3

# importing Matplotlib and Numpy Packages
import numpy as np
import matplotlib.pyplot as plt
  
# The data are given as list of lists (2d list)
data = np.array([
    [1, 4],
    [2, 2],
    [3, 7],
    [4, 6],
    [5, 0],
    [6, 3]
])
# Taking transpose
x, y = data.T
  
  
# plot our list in X,Y coordinates
plt.scatter(x, y)
plt.show()

输出: