اذهب إلى المحتوى
  • 0

حفظ الرسم plot في ملف بدلاً من عرضه باستخدام Matplotlib

Ali Ismael

السؤال

عندما نقوم باستخدام مكتبة mat لعرض الرسوم البيانية فإنه يتم عرض الصورة لكن لايمكننا حفظها أو تخزينها ضمن متحول ليتم حفظه فهل هناك طريقة لحفظ الرسم البياني، فعلى سبيل المثال قمت بتحليل للبيانات وأريد حفظ الناتج:

import pylab as pt
pt.figure(1, figsize=(6, 6))
nationalism = 'European','Asian', 'Indian'
ratio = [15, 35, 55]
ax = pt.axes([0.1, 0.1, 0.8, 0.8])
pt.pie(ratio, explode=(0, 0.05, 0), labels=nationalism, shadow=True)
pt.show()
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

توفر مكتبة matplotlib الأداة savefig لتخزين الرسم البياني الناتج:

savefig(fname, dpi=None, format=None,bbox_inches=None)

حيث أن الوسيط الأول يمثل المسار الذي تود فيه حفظ الملف الناتج، وال dpi أو dots per inch (وهي وحدة قياس تحدد عدد النقاط الفردية التي يمكن وضعها في مربع 1 × 1 بوصة) وزيادتها تؤدي لزيادة حجم الصورة. أما الوسيط الثالث فهو لتحديد الصيغة التي سيتم فيها حفظ الشكل البياني أي 'png', 'pdf', 'svg' ...إلخ. أما الوسيط الأخير ففي حال ضبطه على tight سيتم إزالة المسافة البيضاء الغير مرغوب فيها التي تكون حول الرسم البياني. هنا سأقوم بإنشاء رسم بياني وحفظه:

import matplotlib.pyplot as plt
fig, ax = plt.subplots( nrows=1, ncols=1 )  #figure إنشاء 
ax.plot([0,1,2], [10,20,3])
fig.savefig('to.png')   # حفظه
plt.close(fig)    # figure إغلاق ال

وبالنسبة للمثال الخاص بك:

import pylab as pt
pt.figure(1, figsize=(6, 6))
nationalism = 'European','Asian', 'Indian'
ratio = [15, 35, 55]
ax = pt.axes([0.1, 0.1, 0.8, 0.8])
pt.pie(ratio, explode=(0, 0.05, 0), labels=nationalism, shadow=True)
pt.savefig('al.png') # حفظه

كما يجب أن تتجنب استخدام التعليمة imshow لعرض الشكل قبل حفظه وإلا فستكون الصورة التي سيتم تخزينها صورة فارغة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...