في Matplotlib، عادةً ما تقوم المخططات بتوصيل نقاط البيانات بخطوط مستقيمة. على الرغم من أن هذا قد يكون مقبولاً في سيناريوهات معينة، إلا أن الرسم البياني الناتج قد يبدو متعرجًا أو غير جذاب من الناحية المرئية. يمكن معالجة هذه المشكلة عن طريق تنعيم الخطوط، مما يؤدي إلى تصور أكثر مصقولًا وغنيًا بالمعلومات.
لتنعيم الخطوط في Matplotlib، يمكنك الاستفادة من إمكانيات مكتبة SciPy. من خلال استدعاء scipy.interpolate.spline، يمكنك إنشاء وظيفة الاستيفاء التي ستنتج منحنى سلسًا يمر عبر نقاط البيانات الأصلية.
from scipy.interpolate import spline
T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E 03, 5.92E 02, 2.04E 02, 7.24E 01, 2.72E 01, 1.10E 01, 4.70E 00])
xnew = np.linspace(T.min(), T.max(), 300) # Define the number of points for smoothing
power_smooth = spline(T, power, xnew)
plt.plot(xnew, power_smooth)
في إصدارات SciPy 0.19.0 والإصدارات الأحدث، تم إهمال الشريحة واستبدالها بفئة BSpline. لتحقيق نتائج مماثلة، يمكنك استخدام الكود التالي:
from scipy.interpolate import make_interp_spline, BSpline
spl = make_interp_spline(T, power, k=3) # k=3 indicates cubic spline interpolation
power_smooth = spl(xnew)
plt.plot(xnew, power_smooth)
يمكن مقارنة الحبكة الأصلية ذات الخطوط المستقيمة والحبكة المصقولة من أجل الوضوح:
[قبل]( https://i.sstatic.net/dSLtt.png)
[After](https://i.sstatic.net/olGAh.png)
كما هو واضح من الصور، تنعيم الخطوط يزيل الخشونة، مما يؤدي إلى رسم بياني أكثر جاذبية وغني بالمعلومات.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3