在 Python 中绘制数组
可视化数据可以提高对数据的一般理解并有助于记忆,因为人类往往比文本更容易记住视觉效果。数据的可视化至关重要,因为我们有很多可用的数据,我们需要一种结构良好的格式来理解它。这项活动是每个数据科学家和机器学习爱好者日常生活的一部分。他们必须将数据可视化以更好地理解它并构建良好且高效的机器学习模型。
通常,数据以数组的形式表示,我们最终会遇到必须绘制它的情况。本文讨论如何使用 Python 绘制此类数据。
在我们继续代码之前,我们必须了解一件事。数组可以是 n 维
,这意味着我们可以在数组中包含数组(二维数组),或者在数组中包含数组,在其中进一步包含数组(3D 数组)等等。随着维数的增加,绘制数组的复杂性也会增加。在这种情况下,必须将数组转换为适合绘制或绘制其他类型图形的另一种格式,从而使可视化效果更好。本文将讨论绘制一维和二维数组。
我们将使用 Matplotlib
,一个用于可视化目的的基于 Python 的综合库,以及 NumPy
来绘制数组。
你可以在这里(Matplotlib
)和这里(NumPy
)阅读更多关于它们的信息。
在 Python 中绘制一维数组
要绘制一维数组,请参阅以下代码。
import numpy as np
import matplotlib.pyplot as plt
x = np.array(range(0, 10))
y = np.array([100, 23, 44, 12, 55, 85, 69, 33, 75, 2])
plt.title("Plotting 1-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.plot(x, y, color = "red", marker = "o", label = "Array elements")
plt.legend()
plt.show()
变量 y
保存必须绘制的数据,变量 x
保存索引。此处,出于绘图目的,也考虑了基于 0 的索引。请注意,还可以通过添加此 x = np.array(range(1, 11))
将索引更改回基于 1 的索引。plot
函数首先获取 x 轴
的数据,然后获取 y 轴
的数据。color
参数设置线图的颜色,marker
参数设置用于标记线图上的点的符号,而 label
参数设置要为此特定线显示的标签。请注意,如果没有 plt.legend()
,图表上将不会显示有关标签的信息。
上面代码的输出将如下所示。
在 Python 中绘制二维数组
要绘制二维数组,请参阅以下代码。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
figure(figsize = (8, 6))
x = np.array(range(0, 10))
y = np.array([
[32, 69, 92, 81, 27, 97, 64, 98, 26, 22],
[85, 76, 63, 44, 94, 52, 71, 66, 2, 62],
[45, 80, 46, 24, 10, 74, 10, 33, 12, 60],
[73, 94, 21, 6, 93, 74, 36, 47, 16, 99],
[96, 84, 66, 12, 43, 58, 17, 16, 28, 6],
[83, 4, 56, 94, 97, 36, 94, 41, 74, 14],
[90, 13, 11, 71, 79, 49, 9, 69, 73, 61],
[94, 52, 28, 18, 14, 15, 91, 95, 16, 42],
[73, 35, 40, 25, 46, 25, 33, 1, 99, 30],
[61, 7, 89, 33, 94, 64, 1, 60, 41, 81]
])
plt.title("Plotting a2-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
for i, array in enumerate(y):
plt.plot(x, array, color = np.random.rand(3, ), marker = "o", label = f"Array #{i}")
plt.legend(loc = "center left", bbox_to_anchor=(1, 0.5))
plt.show()
变量 y
保存 2-D
数组。我们迭代 2-D
数组的每个数组,用一些随机颜色和唯一标签绘制它。绘图完成后,我们重新定位图例框并显示绘图。
上面代码的输出将如下所示。