ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python保存带有精确像素大小的matplotlib图

2019-06-23 23:54:22  阅读:802  来源: 互联网

标签:python pixel matplotlib save


我想保存一个精确大小的matplotlib图像.在下面的代码中,这个确切的大小是500×500像素.
虽然保存的图像是500×500像素,但它包括我的形状和绘图区域周围的填充.我希望圆圈紧贴边界.相反,我的圈子周围有空白区域.是否可以仅保存绘图区域?
请注意,虽然下面的代码是可重现的,但my_dpi取决于您的显示器DPI. 220是我的显示器的DPI.

import matplotlib.pyplot as plt
import matplotlib.image as mpimage
import numpy as np

H       = 500
W       = 500
radius  = H/2
my_dpi  = 220


a = np.deg2rad(0)
b = np.deg2rad(360);

t = np.linspace(a,b,100)
x = radius*np.cos(t)
y = radius*np.sin(t)
x = np.append(x,[0,x[0]])
y = np.append(y,[0,y[0]])

myFig   = plt.figure()
DPI     = my_dpi #myFig.get_dpi()
myFig.set_size_inches(float(H)/float(DPI),float(W)/float(DPI))

plt.fill(y,x,color='none',facecolor='red')
plt.axis((-W/2,W/2,-H/2,H/2))
plt.axis('off')
#plt.show()
plt.savefig('my_fig.png',dpi=DPI)

print 'Figure Size: ', myFig.get_size_inches()

Im = mpimage.imread('my_fig.png')
print 'Im Size: ', Im.shape

解决方法:

您可以使用subplots_adjust在绘图周围设置填充.

myFig.subplots_adjust(bottom=0.,left=0.,right=1.,top=1.)

标签:python,pixel,matplotlib,save
来源: https://codeday.me/bug/20190623/1275553.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有