فرض کنید ساعتها روی یک نمودار زیبا در پایتون کار کردهاید – رنگها، برچسبها و …، همه چیز عالی است. اما حالا چطور این نمودار را برای مقاله، ارائه یا وبسایت خود ذخیره کنید؟ با یک عکس از صفحه؟ نه! پایتون تابع سادهای به نام `savefig` دارد که در یک خط کد، نمودار شما را با کیفیت دلخواه، در فرمتهای مختلف (PNG، PDF، SVG و حتی EPS) ذخیره میکند. در این مقاله یاد میگیرید چطور با تنظیم **dpi** وضوح را افزایش دهید، حاشیهها را حذف کنید (`bbox_inches=’tight’`)، رنگ زمینه و حاشیه را تغییر دهید و حتی نمودار را شفاف کنید تا روی هر زمینهای قرار بگیرد. بیایید با هم چند مثال عملی ببینیم.
با استفاده از دستور savefig میتوان نمودارهای ترسیم شده در پایتون را ذخیره کرد. savefig یک تابع داخلی برای یک داده figure در matplotlib.pyplot میباشد.
اولین ورودی این دستور نام فایل به صورت داده رشتهای است که میتواند شامل فرمت آن فایل نیز باشد.
from matplotlib.pyplot import plot, gcf
plot([1, 2, 2, 1, 1], [1, 1, 2, 2, 1])
fh0 = gcf()
fh0.savefig('simple-plot-python.png')

این دستور فرمتهای مختلفی از جمله pdf، png، ps و … را میپذیرد.
formats = ['eps', 'jpeg', 'jpg', 'pdf', 'png', 'ps',
'raw', 'rgba', 'svg', 'svgz', 'tif', 'tiff']
for cur_format in formats:
fh0.savefig('simple-plot-python.'+cur_format)
با استفاده از پارامتر dpi، کیفیت فایل خروجی را نیز میتوان تعیین کرد. منظور از dpi، تعداد نقاط در یک اینچ (dots per in ch) است و هرچه تعداد نقاط بیشتر باشد، فایل کیفیت بالاتری خواهد داشت.
fh0.savefig('simple-plot-python.png', dpi=300)
میتوان با پارامترهای facecolor و edgecolor به ترتیب، رنگ صفحه بیرونی و رنگ خط دور نمودار را تنظیم کرده و ذخیره کرد. ضمنا بایستی برای نمایش خط دور نمودار مقدار آن را تغییر داد. به طور پیشفرض مقدار آن صفر میباشد.
fh0.set_linewidth(5)
fh0.savefig('simple-plot-python_fcRed_ecGreen.png',
facecolor='red', edgecolor='green')

میتوان فضای سفید اطراف نمودار را به کمک پارامتر bbox_inches و دادن مقدار رشتهای ‘tight’ به آن، حذف کرد.
fh0.savefig('simple-plot-python_bboxTight.png', bbox_inches='tight')

به کمک پارامتر transparent میتوان پیشزمینه نمودار را حذف کرد و آن را شفاف کرد تا بتوان بر روی دیگر شکلها از آن استفاده کرد.
fh0.savefig('simple-plot-python_transparentTrue.png', transparent=True)

حالا دیگر نیازی نیست نگران از دست رفتن نمودارهایتان باشید یا با ابزارهای جانبی عکس بگیرید. تنها کافی است پس از رسم نمودار با `plot`، با `savefig` آن را در فرمت و کیفیت دلخواهتان ذخیره کنید. فراموش نکنید: با پارامتر `dpi` میتوانید وضوح را برای چاپ یا نمایش حرفهای افزایش دهید، با `bbox_inches=’tight’` حاشیههای اضافی را حذف کنید و با `transparent=True` نموداری بدون زمینه بسازید که روی هر رنگ یا تصویری زیبا بیفتد. همین الان یک نمودار ساده بکشید و تنظیمات مختلف را امتحان کنید – نتیجهی کار، خروجیهایی خواهد بود که در گزارشها و وبسایتتان بدرخشند.


