我正在尝试绘制一个包含2000列和200000行的矩阵。我可以测试绘图并使用
在矩阵较小时测试导出矩阵图matshow(my_matrix)
show()
但是,当更多行添加到my_matrix时,图形变得非常窄,因为行数多于列,因此在放大时会失去精度。我可以使矩阵图形可滚动吗?如果没有,我怎么能在不损失精度的情况下可视化这样的矩阵呢?
我还尝试调用savefig(' filename',dpi = 300)以保存图像而不会丢失太多精度,但是当矩阵很大时它会抛出MemoryError。非常感谢!
答案 0 :(得分:1)
我最终结合了@tcaswell和@ lesnikow的建议。
获取当前轴以正确设置自动纵横比,我还将矩阵拆分为更小的矩阵:
import matplotlib.pylab as plt
for j in range(lower_bound_on_rows, upper_bound_on_rows): nums.append(j)
partial_matrix = my_matrix[nums, :]
plt.matshow(partial_matrix, fignum=100)
plt.gca().set_aspect('auto')
plt.savefig('filename.png', dpi=600)
我的矩阵是垂直长的,所以我按行切片并保留较小矩阵中的所有列。如果您的矩阵水平长,请翻转索引,如my_matrix [:,nums]