Ali Ismael نشر 19 أكتوبر 2021 أرسل تقرير نشر 19 أكتوبر 2021 (معدل) كيف يمكنني تغيير حجم ال bins، على سبيل المثال في الكود التالي: from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 200 n_bins = 15 x1 = abs(np.random.randn(N_points)*50) plt.hist(x1,bins = n_bins) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() تم التعديل في 19 أكتوبر 2021 بواسطة Ali Ismael 1 اقتباس
1 Ali Haidar Ahmad نشر 19 أكتوبر 2021 أرسل تقرير نشر 19 أكتوبر 2021 يمكنك تعديل حجمها من خلال ضبطهم بشكل يدوي، بدلاً من تمرير عدد ال bins، كالتالي: from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 # تحديد نطاق المجالات يدوياً bins=[0, 50, 70, 90,255] # وبالتالي سيكون لدينا 4 مجالات وأكبرها حجماً هو المجال من 90 ل 255 x1 = abs(np.random.randn(N_points)*50) plt.hist(x1,bins = bins) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() وإذا كنت ترغب فقط في توزيعها بالتساوي (جعل النطاقات متساوية): from matplotlib.ticker import PercentFormatter import matplotlib.pyplot as plt import numpy as np from matplotlib import colors N_points = 50 x1 = abs(np.random.randn(N_points)*50) # في حالة كانت بياناتك تحوي أعداد حقيقية استخدم: bins=np.arange(min(x1), max(x1) + binwidth, binwidth) # أما في حالة كانت أعداد صحيحية فقط يمكنك استخدام: # bins=range(min(x1), max(x1) + binwidth, binwidth) plt.hist(x1,bins = bins) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() 1 اقتباس
1 Ahmed Sharshar نشر 20 أكتوبر 2021 أرسل تقرير نشر 20 أكتوبر 2021 يمكنك اما تغيير حجم ال bins بطريقة يدوية عن طريق وضع list يكون فيها ال bins التي تريد رسمها كالتالي: import matplotlib.pyplot as plt import numpy as np N_points = 50 #حجم ال bins bins_list =[0, 10, 20, 30,40] x1 = abs(np.random.randn(N_points)*50) plt.hist(x1,bins = bins_list ) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() وتظهر كالتالي: أو عن طريق جلب أكبر قيمة وأصغر قيمة ثم طرحهما وقسمة الناتج على عدد ال bins التي تريدها وبالتالي يكون لدينا أحجام bins متساوية كالتالي: import matplotlib.pyplot as plt import numpy as np import math N_points = 50 x1 = abs(np.random.randn(N_points)*50) #خلق bins ذات حجم 5 w = 5 n = math.ceil((x1.max() - x1.min())/w) ax = plt.hist(x1, bins = n) plt.xlabel("X-axis") plt.ylabel("y-axis") plt.show() وتظهر كالتالي: اقتباس
السؤال
Ali Ismael
كيف يمكنني تغيير حجم ال bins، على سبيل المثال في الكود التالي:
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.