matplotlib输出像素和矩阵维度一样的图

使用matplotlib绘图时,特别是对数值矩阵画热力图,很多时候因为设置的画布、坐标轴、分辨率等影响输出图片的维度,使得输出图片的维度无法进行下一步的任务。这里通过设计程序实现输出图片的分辨率和矩阵维度完全一致。

注意事项

import matplotlib.pyplot as plt

1.只能使用plt.figure,不能使用plt.subplot,不然那会有去不掉的边框

2.必须设置dpi为1

h, w = mat.shape
fig = plt.figure(figsize=(w, h), dpi=1)

3.需要设置网格ax

ax = fig.add_subplot([0, 0, 1, 1])
# 这里表示x[0, 1], y[0, 1],即对图像全覆盖
ax = matshow(mat, cmap="jet")

4.有可能需要翻转图像,设置ax.invert_yaxis()

ax.invert_yaxis()

5.需要关闭显示坐标轴

ax.set_xticks([])
ax.set_yticks([])
ax.axis('off')

6.需要在保存时去掉外面所有可能得边框

# 需要自己设置存储路径
plt.savefig("test.png", dpi=1, bbox_inches="tight", pad_inches=0)

完整代码

import matplotlib.pyplot as plt

def drawmatrix(mat):
		h, w &
  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值