Ali Ismael نشر 15 أكتوبر 2021 أرسل تقرير نشر 15 أكتوبر 2021 أريد تعديل المسافات الفاصلة بين ال subplots فمثلاً لدي الكود التالي الذي يقوم بتوليد الرسمين التاليين: import matplotlib.pyplot as plt data = np.arange(3000).reshape((100,30)) fig = plt.figure() subplot1 = fig.add_subplot(121) subplot1.plot(data) subplot2 = fig.add_subplot(122) subplot2.plot(data) plt.show() والنتيجة: ما أريده هو جعلهما متباعدين لكي يكون الناتج بشكل أوضح ولكي لا يحدث هذا التداخل. 1 اقتباس
1 Ali Haidar Ahmad نشر 15 أكتوبر 2021 أرسل تقرير نشر 15 أكتوبر 2021 يمكنك استخدام الدالة tight_layout: matplotlib.pyplot.tight_layout(pad=1.08) حيث تقوم هذه الدالة بضبط المساحة المتروكة بين ال subplots. حيث أن الوسيط الأول يمثل المسافة (الحشو) بين حدود ال figure وبين ال subplots.: import matplotlib.pyplot as plt fig = plt.figure() subplot1 = fig.add_subplot(121) subplot1.plot(data) subplot2 = fig.add_subplot(122) subplot2.plot(data) fig.tight_layout(pad=3.0) plt.show() الخرج: والطريقة الثانية من خلال subplots_adjust حيث تمنحك هذه الدالة إمكانية التعديل بشكل أكثر حرية وبكل الاتجاهات، كما في الكود التالي: import matplotlib.pyplot as plt fig = plt.figure() subplot1 = fig.add_subplot(121) subplot1.plot(data) subplot2 = fig.add_subplot(122) subplot2.plot(data) fig.subplots_adjust( top=0.981, bottom=0.049, left=0.042, right=0.981, hspace=0.2, wspace=0.2 ) plt.show() 1 اقتباس
1 Ahmed Sharshar نشر 15 أكتوبر 2021 أرسل تقرير نشر 15 أكتوبر 2021 هناك طريقة سهلة للغاية باستخدام subplots_tool والتي توفر طريقة سهلة لضبط أبعاد الصورة ، الكود التالي يوضح كيفية استخدامها: import matplotlib.pyplot as plt import numpy as np data = np.arange(3000).reshape((100,30)) fig = plt.figure() subplot1 = fig.add_subplot(121) subplot1.plot(data) subplot2 = fig.add_subplot(122) subplot2.plot(data) plt.subplot_tool() plt.show() تظهرلك هذه الشاشة: من هنا تستطيع ضبط أبعاد الصورة كما تشاء دون الحاجة لمزيد من الكود. أو استخدام constrained_layout = True كالتالي: import matplotlib.pyplot as plt import numpy as np data = np.arange(3000).reshape((100,30)) fig = plt.figure() subplot1 = fig.add_subplot(121) subplot1.plot(data, constrained_layout = True) subplot2 = fig.add_subplot(122) subplot2.plot(data, constrained_layout = True) plt.show() وفي كلتا الطريقتين يمكن ضبطهمها ليكونوا بالمسافة التي تريد هكذا: اقتباس
السؤال
Ali Ismael
أريد تعديل المسافات الفاصلة بين ال subplots فمثلاً لدي الكود التالي الذي يقوم بتوليد الرسمين التاليين:
والنتيجة:
ما أريده هو جعلهما متباعدين لكي يكون الناتج بشكل أوضح ولكي لا يحدث هذا التداخل.
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.