إياد أحمد نشر 21 ديسمبر 2021 أرسل تقرير نشر 21 ديسمبر 2021 قمت بإنشاء مخططين من خلال الكود التالي: import seaborn as sns data = sns.load_dataset('iris') plot1 = sns.barplot(x='sepal_length', y='species', data=data).get_figure() plot1.savefig('plot1.pdf') plot2 = sns.barplot(x='sepal_width', y='species', data=data).get_figure() plot2.savefig('plot2.pdf') لكن المشكلة أنه يقوم بحفظ المخطط الثاني فوق المخطط الأول، لذا كيف يمكن حل هذه المشكلة؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 21 ديسمبر 2021 أرسل تقرير نشر 21 ديسمبر 2021 يجب عليك أن تقوم بإنشاء شكل figure جديد من أجل حل المشكلة، ويمكنك القيام بذلك بإحدى الطرق التالية: 1. إنشاء شكل جديد قبل كل مخطط من خلال استدعاء الدالة plt.figure: import seaborn as sns data = sns.load_dataset('iris') plt.figure() plot1 = sns.barplot(x='sepal_length', y='species', data=data).get_figure() plot1.savefig('plot1.pdf') plt.figure() plot2 = sns.barplot(x='sepal_width', y='species', data=data).get_figure() plot2.savefig('plot2.pdf') 2. عن طريق إلغاء استدعاء الدالة get_figure ثم استدعاء plt.savefig كما يلي: import seaborn as sns import matplotlib.pyplot as plt data = sns.load_dataset('iris') plot1 = sns.barplot(x='sepal_length', y='species', data=data) plt.savefig('plot1.pdf') plt.clf() plot2 = sns.barplot(x='sepal_width', y='species', data=data) plt.savefig('plot2.pdf') اقتباس
1 Ahmed Sharshar نشر 22 ديسمبر 2021 أرسل تقرير نشر 22 ديسمبر 2021 اذا كنت تستخدم نسخة بعد 0.11 فالكود التالي قد يحل المشكلة: import seaborn as sns import numpy as np data = np.random.normal(size=100) path = "/path/to/img/plot.png" plot = sns.displot(data) plot.fig.savefig(path) plot.fig.clf() #أكمل رسمتك الخاصة واذا كنت تحب التكرار فيمكنك استخدام for وذلك عوضا عن وضع كل رسمة أسفل الثانية ثم وضع الفاصل وهكذا: import seaborn as sns import numpy as np for i in range(3): data = np.random.normal(size=100) path = "/path/to/img/plot2_{0:01d}.png".format(i) plot = sns.displot(data) plot.fig.savefig(path) plot.fig.clf() اما اذا كانت النسخة قبل ذلك فيجب تعديل طريقة كتابته قليلا هكذا: import seaborn as sns import numpy as np data = np.random.normal(size=100) path = "/path/to/img/plot.png" plot = sns.distplot(data) plot.get_figure().savefig(path) plot.get_figure().clf() #لاحظ اختلاف شكل الدالة المستخدمه اقتباس
السؤال
إياد أحمد
قمت بإنشاء مخططين من خلال الكود التالي:
لكن المشكلة أنه يقوم بحفظ المخطط الثاني فوق المخطط الأول، لذا كيف يمكن حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.