English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
pip3 تنصيب:
pip تنصيب -i https://pypi.tuna.tsinghua.edu.cn/simple
يمكن استخدام مدير الحزم في نظام Linux أيضًا لتثبيت Linux:
Debian / Ubuntu:
sudo apt-get install python-matplotlib
Fedora / Redhat:sudo yum install python-matplotlib
بعد التثبيت، يمكنك استخدام python -m pip list استخدام الأمر لمعرفة ما إذا كان مكتبة matplotlib مثبتة.
$pip3 list | grep matplotlib matplotlib 3.3.0
import numpy as np from matplotlib import pyplot as plt x = np.arange(1,11) y = 2 * x + 5 plt.title("Matplotlib demo") plt.xlabel("عنوان المحور x") plt.ylabel("عنوان المحور y") plt.plot(x,y) plt.show()
في هذا المثال، دالة np.arange() تخلق القيم على المحور x. القيم المترابطة على المحور y يتم تخزينها في مجموعة أخرى تسمى y. يتم رسم هذه القيم باستخدام دالة plot() من وحدة pyplot في مكتبة matplotlib.
الرسم البياني يتم عرضه بواسطة دالة show()
يتمتع Matplotlib بـ عدم دعمه للصينية بشكل افتراضي، يمكننا حل هذا المشكلة باستخدام طريقة بسيطة.
في هذا المثال، نستخدم الخط سينغ يوان، وهو خط مفتوح المصدر تم إطلاقه من قبل Adobe و Google.
الموقع الرسمي: https://source.typekit.com/source-han-serif/cn/
عنوان GitHub: https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese
بعد فتح الرابط، اختر واحداً منهم فقط:
يمكنك تنزيل خط OTF، مثل SourceHanSansSC-Bold.otf، ووضع الملف في نفس ملف الكود الذي يتم تنفيذه:
ملف SourceHanSansSC-Bold.otf يجب أن يكون في نفس ملف الكود الذي يتم تنفيذه:
import numpy as np from matplotlib import pyplot as plt import matplotlib #fname هو مسار مكتبة الخطوط التي قمت بتحميلها، انتبه لـ SourceHanSansSC-Bold.otf مسار خط SourceHanSansSC-Bold.otf zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") x = np.arange(1,11) y = 2 * x + 5 plt.title("ثمن التربة - اختبار", fontproperties=zhfont1) # fontproperties لتعيين عرض اللغة الصينية، fontsize لتعيين حجم الخط plt.xlabel("محور x", fontproperties=zhfont1) plt.ylabel("محور y", fontproperties=zhfont1) plt.plot(x,y) plt.show()
بالإضافة إلى ذلك، يمكننا استخدام الخطوط النظامية:
from matplotlib import pyplot as plt import matplotlib a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist]) for i in a: print(i)
إطبع جميع الأسماء المسجلة في ttflist الخاصة بـ font_manager، ابحث عن اسم الخط الصيني مثل: STFangsong (شانغsong) ثم أضف الكود التالي:
plt.rcParams['font.family']=['STFangsong']
بديلاً عن الرسم البياني الخطي، يمكنك عرض القيم المتباعدة بإضافة شريط تنسيق إلى دالة plot() يمكنك استخدام حروف التنسيق التالية.
النص | الوصف |
'-' | نمط الخط الكامل |
'--' | نمط الخط القصير |
'-.' | نمط الخط النقطي |
':' | نمط الخط العكسي |
'.' | علامة النقطة |
',' | علامة العنصر البنّي |
'o' | علامة الدائرة |
'v' | علامة المثلث العكسي |
'^' | علامة المثلث |
'<' | علامة المثلث اليسرى |
'>' | علامة المثلث الأيمن |
'1' | علامة السهم لأسفل |
'2' | علامة السهم لأعلى |
'3' | علامة السهم اليسرى |
'4' | علامة السهم الأيمن |
's' | علامة المربع |
'p' | علامة الخماسية |
'*' | علامة النجمة |
'h' | علامة المستطيل الستة 1 |
'H' | علامة المستطيل الستة 2 |
'+' | علامة العلامة |
'x' | علامة X |
'D' | علامة الديكور |
'd' | علامة الديكور الأصغر |
'|' | علامة الخط العمودي |
'_' | علامة الخط الأفقي |
إليك اختصارات الألوان:
النص | اللون |
'b' | الأزرق |
'g' | الأخضر |
'r' | الأحمر |
'c' | الأزرق |
'm' | البنفسجي |
'y' | الأصفر |
'k' | الأسود |
'w' | البياض |
لاحظ عرض الدائرة بدلاً من الخط في مثال السابق، استخدم ob كشريط تنسيق في دالة plot()
import numpy as np from matplotlib import pyplot as plt x = np.arange(1,11) y = 2 * x + 5 plt.title("Matplotlib demo") plt.xlabel("عنوان المحور x") plt.ylabel("عنوان المحور y") plt.plot(x, y, "ob") plt.show()
النتيجة الخارجة للتنفيذ كما في الصورة التالية:
هذا المثال يستخدم matplotlib لإنشاء رسم بياني للجيب:
import numpy as np import matplotlib.pyplot as plt # حساب نقاط x و y على منحنى الجيب x = np.arange(0, 3 * np.pi, 0.1) y = np.sin(x) plt.title("شكل موجة الجيب") # استخدام matplotlib لرسم النقاط plt.plot(x, y) plt.show()
النتيجة الخارجة للتنفيذ كما في الصورة التالية:
وظيفة subplot تسمح لك برسم أشياء مختلفة في نفس الرسم البياني.
هذا المثال يرسم قيم الجيب والسين:
import numpy as np import matplotlib.pyplot as plt # حساب نقاط x و y على منحنيات الجيب والسين x = np.arange(0, 3 * np.pi, 0.1) y_sin = np.sin(x) y_cos = np.cos(x) # بناء شبكة subplot، الارتفاع 2، العرض 1 # تعطيل subplot الأول plt.subplot(2, 1, 1) # رسم الصورة الأولى plt.plot(x, y_sin) plt.title('موجة') # تعطيل subplot الثاني، و رسم الصورة الثانية plt.subplot(2, 1, 2) plt.plot(x, y_cos) plt.title('مجلة') # عرض الصورة plt.show()
النتيجة الخارجة للتنفيذ كما في الصورة التالية:
يقدم وحدة pyplot وظيفة bar() لإنشاء رسم بياني من الأعمدة.
هذا المثال يولد رسم بياني من مجموعتين من المربعات x و y.
from matplotlib import pyplot as plt x = [5, 8, 10] y = [12, 16, 6] x2 = [6, 9, 11] y2 = [6, 15, 7] plt.bar(x, y, align='center') plt.bar(x2, y2, color='g', align='center') plt.title('رسم بياني من الأعمدة') plt.ylabel('مستوى Y') plt.xlabel('مستوى X') plt.show()
النتيجة الخارجة للتنفيذ كما في الصورة التالية:
وظيفة histogram() في numpy تمثل توزيع التردد البياني للبيانات. المثلثات المستطيلة التي لها أبعاد طول متساوية تُعرف بالـ bin وتُناسب الفواصل بين الفئات، بينما يناسب الارتفاع التردد.
�数ونبية np.histogram() تستقبل مجموعة البيانات والصناديق كمعلمتين. العناصر المتتابعة في مجموعة الصناديق تخدم كحدود للصناديق.
import numpy as np a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) np.histogram(a,bins = [0,20,40,60,80,100]) hist,bins = np.histogram(a,bins = [0,20,40,60,80,100]) print(hist) print(bins)
النتيجة الخارجة هي:
[3 4 5 2 1] [0 20 40 60 80 100]
يمكن لماتplotlib تحويل التمثيل الرقمي للهيكل البياني إلى شكل مرئي. يعتمد الدالة plt() في وحدة النمذجة pyplot على مجموعة من البيانات ومجموعة من حدود الصناديق لتوليد الهيكل البياني.
from matplotlib import pyplot as plt import numpy as np a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) plt.hist(a, bins = [0,20,40,60,80,100]) plt.title("histogram") plt.show()
النتيجة الخارجة للتنفيذ كما في الصورة التالية:
المزيد من الموارد لماتplotlib: