إياد أحمد نشر 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 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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') اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
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() #لاحظ اختلاف شكل الدالة المستخدمه اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
إياد أحمد
قمت بإنشاء مخططين من خلال الكود التالي:
لكن المشكلة أنه يقوم بحفظ المخطط الثاني فوق المخطط الأول، لذا كيف يمكن حل هذه المشكلة؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.