Python中如何将n×n数组元素以图像形式展示为同尺寸方格
实现方案
使用Matplotlib可以直接实现该需求,完美适配任意n×n二维数组的方格可视化需求,每个数组元素会自动对应到方格中居中显示。
可直接运行的完整代码如下:
import numpy as np import matplotlib.pyplot as plt def plot_array_grid(arr): n = arr.shape[0] fig, ax = plt.subplots() # 隐藏默认坐标轴 ax.set_axis_off() # 绘制网格边框线 for i in range(n + 1): ax.plot([i, i], [0, n], color="black") ax.plot([0, n], [i, i], color="black") # 逐格填充对应数值 for row_idx in range(n): for col_idx in range(n): # 对齐数组行顺序与网格从上到下的显示顺序,文本居中放置 ax.text( col_idx + 0.5, n - 1 - row_idx + 0.5, str(arr[row_idx, col_idx]), ha="center", va="center", fontsize=12 ) # 锁定等比例,防止方格变形 ax.set_aspect("equal") plt.xlim(0, n) plt.ylim(0, n) plt.show() # 测试3×3样例数组 A = np.array([[10,20,30],[40,50,60],[70,80,90]]) plot_array_grid(A)
相关说明
- 运行上述代码传入3×3测试数组时,输出效果和预期完全一致:

- 通用适配:传入任意形状为
(n,n)的二维numpy数组,函数会自动匹配尺寸生成对应n×n方格,无需额外调整参数。 - 自定义调整:如果需要给方格添加背景色、修改边框样式、调整文本字体格式,直接修改函数内的绘图参数即可实现。
内容的提问来源于stack exchange,提问作者Wiz123
相关产品推荐
相关产品推荐

