📜  Python中的 Matplotlib.axes.Axes.spy()(1)

📅  最后修改于: 2023-12-03 15:34:22.852000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.spy()

简介

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

使用以上代码将生成散点图,如下所示,以表示二维稀疏矩阵中的非零元素位置:

example