📅  最后修改于: 2023-12-03 15:34:22.852000             🧑  作者: Mango
Matplotlib
是一个用于数据可视化的库,其 Axes
模块提供了许多绘图函数。spy()
函数用于绘制二维的稀疏矩阵的非零元素位置。
Axes.spy(self, Z, *, precision=None, marker=None, markersize=None, markeredgewidth=None, fillstyle=None, **kwargs)
Z
:array_like,稀疏矩阵。precision
:int,可选项,指定绘制非零值用到的小数位数。marker
:可选项,指定绘制的标记样式。markersize
:可选项,标记的大小。markeredgewidth
:可选项,标记的边框宽度。fillstyle
:可选项,标记的填充样式。**kwargs
:这个选择项包含来自 matplotlib.lines.Line2D
的其他 Line2D
属性。matplotlib.lines.Line2D
对象或者是一个包含 Line2D
对象的列表。
import numpy as np
import matplotlib.pyplot as plt
def create_matrix():
"""
创建一个稀疏矩阵
"""
rows, cols = 5, 5
A = np.zeros((rows, cols))
A[0,:] = 1
A[:,0] = 1
A[-1,:] = 1
A[:,-1] = 1
return A
A = create_matrix()
fig, ax = plt.subplots(figsize=(8,8))
ax.spy(A, precision=0, markersize=20, markeredgewidth=2)
ax.set_title('Sparse matrix - non-zero locations')
ax.set_xlabel('Columns')
ax.set_ylabel('Rows')
plt.show()
使用以上代码将生成散点图,如下所示,以表示二维稀疏矩阵中的非零元素位置: