فهرست بستن

آموزش نحوه ذخیره سازی نمودارهای خروجی matplotlib در پایتون

رسم نمودارهای مناسب برای خروجی‌های محاسبات علمی و عددی یکی از نیازهای کتابخانه محاسبات علمی کامل می‌باشد. کتابخانه matplotlib نیز به این منظور از طرف تسعه دهندگان آماده شده است تا نیازهای رسم نمودار توسط کاربران را رفع نماید. مطمئنا بعد از رسم نمودار ذخیره سازی با کیفیت نمودار برای استفاده در یک ارائه یا گنجاندن در مقاله مورد نظر تمام کاربران می‌باشد. در این نوشته نحوه ذخیره سازی نمودارهای خروجی کتابخانه matplotlib مورد بررسی قرار خواهد گرفت.

بسم الله الرحمن الرحیم

برای ذخیره سازی نمودارهای خروجی کتابخانه matplotlib باید از تابع savefig از pyplot استفاده نمایید. این تابع ابتدا نام فایل خروجی را گرفته و بدنبال آن تعدادی پارامتر در مورد فرمت و کیفیت و … تصویر خروجی دریافت می‌کند. تعدادی از این پارامترها به قرار زیر است:

  • dpi: تعداد نقطه در اینچ که کیفیت تصویر خروجی را تعیین می‌نماید
  • format: فرمت تصویر خروجی که در بیشتر سیستم‌ها می‌تواند یکی از فرمتهای png، pdf، ps، eps یا svg باشد. این پارامتر بصورت رشته‌ای داده می‌شود.
  • transparent: این پارامتر ورودی که از نوع منطقی می‌باشد، transparent زمینه را فعال یا غیر فعال می‌نماید.
  • bbox_inches: این پارامتر ورودی که یا از نوع رشته‌ای می‌باشد یا از نوع Bbox، ناحیه ای که ذخیره خواهد شد را مشخص می‌نماید. مقدار رشته‌ای tight بعنوان ورودی باعث می‌شود تمام اجزای نمودار در فایل خروجی ذخیره شود.

نکته‌ای که در مورد ذخیره سازی نمودارهای رسم شده باید دقت کرد این است که فراخوانی تابع ذخیره سازی باید قبل از فراخوانی تابع نمایش یا بعبارتی show انجام بگیرد. به مثال زیر توجه کنید:

import matplotlib.pyplot as plt

x = [44, 44, 40, 110.2, 125.8, 125.8]
y = [0, 15.9, 75, 135.6, 32.4, 0]

x.append(x[0])
y.append(y[0])

plt.plot(x, y)
plt.grid(True)
plt.xlabel("P (MW)")
plt.ylabel("H (MWth)")
plt.xlim(xmin=0)
plt.ylim(ymin=0)

plt.savefig("FR.eps", format="eps", dpi=500, bbox_inches="tight")

plt.show()

خروجی با فرمت eps (مورد استفاده در نوشتن مقالات علمی) با کیفیت ۵۰۰ نقطه بر اینچ و با تنظیم bbox_inches برابر با tight می‌باشد. فایل تصویر خروجی در کنار فایل پایتون قرار خواهد گرفت. خروجی با فرمت png صرفا برای مشاهده اینکه داریم چه چیز را رسم می کنیم به شکل زیر می باشد: