我不熟悉Python和Matplotlib,我想简单地将colormap应用于图像并编写生成的图像,而不使用轴、标签、标题或Matplotlib通常自动添加的任何内容.以下是我所做的:

def make_image(inputname,outputname):
    data = mpimg.imread(inputname)[:,:,0]
    fig = plt.imshow(data)
    fig.set_cmap('hot')
    fig.axes.get_xaxis().set_visible(False)
    fig.axes.get_yaxis().set_visible(False)
    plt.savefig(outputname)

它成功地删除了图形的轴,但保存的图形在实际图像周围显示了一个白色填充和一个框架. 我怎样才能go 掉它们(至少是白色的填充物)?谢谢

推荐答案

我认为命令axis('off')比单独更改每个轴和边界更简洁地解决了其中一个问题.然而,它仍然在边界周围留下空白.将bbox_inches='tight'添加到savefig命令几乎可以实现这一点,您可以在下面的示例中看到,留下的空白要小得多,但仍然存在.

请注意,更新版本的matplotlib可能需要bbox_inches=0而不是字符串'tight'(通过@epiodeyang和@kadrach)

from numpy import random
import matplotlib.pyplot as plt

data = random.random((5,5))
img = plt.imshow(data, interpolation='nearest')
img.set_cmap('hot')
plt.axis('off')
plt.savefig("test.png", bbox_inches='tight')

在此处输入图像描述

Python相关问答推荐

如何从不同长度的HTML表格中抓取准确的字段?

零填充2D数组上的Numpy切片

计算每月过go x年的平均值

情节生成的饼图文本超出页面边界

FastAPI:使用APIRouter路由子模块功能

Python中的锁定类和线程以实现dict移动

每个组每第n行就有Pandas

删除pandas rame时间序列列中未更改的值

将行从一个DF添加到另一个DF

无法使用equals_html从网址获取全文

从webhook中的短代码(而不是电话号码)接收Twilio消息

使用FASTCGI在IIS上运行Django频道

使用miniconda创建环境的问题

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

使用groupby Pandas的一些操作

我对我应该做什么以及我如何做感到困惑'

无法在Docker内部运行Python的Matlab SDK模块,但本地没有问题

创建可序列化数据模型的最佳方法

Django—cte给出:QuerySet对象没有属性with_cte''''

在单次扫描中创建列表