我是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)
Run Code Online (Sandbox Code Playgroud)
它成功地移除了图形的轴,但保存的图形呈现白色填充和实际图像周围的框架.如何删除它们(至少是白色填充)?谢谢
我需要拍摄一张图像并在一些过程后保存.当我显示它时,图形看起来很好,但是当我保存图形时,我在保存的图像周围有一些空白区域.我试过方法的'tight'选项savefig,也没用.代码:
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
fig = plt.figure(1)
img = mpimg.imread(path)
plt.imshow(img)
ax=fig.add_subplot(1,1,1)
extent = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
plt.savefig('1.png', bbox_inches=extent)
plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我试图通过在图上使用NetworkX绘制基本图并保存它.我意识到没有图形它可以工作,但是当添加图形时,我会在保存的图像周围获得空白区域;
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
import networkx as nx
G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_node(3)
G.add_edge(1,3)
G.add_edge(1,2)
pos = {1:[100,120], 2:[200,300], 3:[50,75]}
fig = plt.figure(1)
img = mpimg.imread("C:\\images\\1.jpg")
plt.imshow(img)
ax=fig.add_subplot(1,1,1)
nx.draw(G, pos=pos)
extent = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
plt.savefig('1.png', bbox_inches = extent)
plt.axis('off')
plt.show()
Run Code Online (Sandbox Code Playgroud) 在numpy/scipy中,我有一个存储在数组中的图像.我可以显示它,我想使用savefig 没有任何边框,轴,标签,标题保存它...只是纯粹的图像,没有别的.
我想避免使用PyPNG或者包装scipy.misc.imsave,它们有时会出现问题(它们并不总是安装得很好,savefig()对我来说只是基本的