如何在 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数组
使用的函数:排列()
Syntax: np.arange(start,end,step)
Parameters:
- Start: starting value
- End: ending value
- Step: step size, by default it is 1.
方法
- 导入模块
- 为坐标创建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()
输出: