Matplotlib یک کتابخانه Cross-platform ، Data Visualization و Graphical Plotting برای پایتون و extension عددی آن NumPy است. به این ترتیب، این کتابخانه یک جایگزین اپن سورس مناسب برای MATLAB ارائه میدهد. توسعهدهندگان همچنین میتوانند از API های matplotlib (رابطهای برنامه نویسی اپلیکیشن) برای جاسازی نمودارها در اپلیکیشنهای رابط کاربری گرافیکی (GUI) استفاده کنند.
یک اسکریپت matplotlib پایتون به گونهای ساختار یافته است که در بیشتر موارد، چند خط کد تنها چیزی است که برای تولید نمودار داده بصری لازم است. لایه برنامه نویسی matplotlib دو API را پوشش میدهد:
pyplot API سلسله مراتبی از آبجکت کدهای پایتون است که در بالای آن matplotlib.pyplot قرار دارد.
یک مجموعه OO API (Object-Oriented API) از آبجکتها که میتوانند با انعطافپذیری بیشتری نسبت به pyplot مونتاژ شوند. این API دسترسی مستقیم به لایههای Backend این کتابخانه را فراهم میکند.
Matplotlib و Pyplot در پایتون
pyplot API یک رابط حالتی مناسب به سبک MATLAB دارد. در واقع، matplotlib در ابتدا به عنوان یک جایگزین اپن سورس برای MATLAB نوشته شد. OO API و رابط آن نسبت به pyplot قابل تنظیمتر و قدرتمندتر هستند، اما استفاده از آنها دشوارتر است. در نتیجه، رابط pyplot بیشتر مورد استفاده قرار میگیرد و به طور پیش فرض در این مقاله به آن اشاره میشود.
درک pyplot API مربوط به matplotlib برای درک نحوه کار با نمودارها کلیدی است:
matplotlib.pyplot.figure: این فیگور یک container سطح بالا است. این شامل هر چیزی است که در یک plot تجسم شده است، از جمله یک یا چند محور.
matplotlib.pyplot.axes: محورها شامل اکثر عناصر یک نمودار هستند: Axis، Tick، Line2D، Text و غیره و مختصات را تنظیم میکنند. این ناحیهای است که دادهها در آن رسم میشوند. محورها شامل X-Axis، Y-Axis و احتمالاً یک Z-Axis نیز هستند.
نصب Matplotlib
Matplotlib و وابستگیهای آن را میتوان به صورت یک پکیج باینری (از پیش کامپایل شده) از Python Package Index (PyPI) دانلود و با دستور زیر نصب کرد:
python -m pip install matplotlib
Matplotlibبه عنوان source file های کامپایلنشده نیز در دسترس است. کامپایل کردن از منبع نیاز دارد که سیستم محلی شما کامپایلر مناسب برای سیستم عاملتان، همه وابستگیها، اسکریپتهای راهاندازی، فایلهای پیکربندی و patch های موجود را داشته باشد. این میتواند فرآیند نصب را نسبتاً پیچیده کند. روش دیگر، استفاده از پلتفرم ActiveState برای ساخت خودکار این کتابخانه از منبع و پکیجکردن آن برای سیستم عامل شماست.
منوی رابط کاربری Matplotlib
هنگامی که matplotlib برای ایجاد یک نمودار استفاده میشود، یک رابط کاربری (UI) و یک ساختار منو ایجاد میشود. از رابط کاربری میتوان برای سفارشیسازی طرح، و همچنین برای حرکت/بزرگنمایی و جابجایی عناصر مختلف استفاده کرد.

Matplotlib و NumPy
Numpy پکیجی برای محاسبات علمی است. Numpy یک وابستگی لازم برای matplotlib است که از توابع numpy برای دادههای عددی و آرایههای چند بعدی، همانطور که در قطعه کد زیر نشان داده شده است، استفاده میکند:

Source Code این مثال در بخش Matplotlib: Plot a Numpy Array ، در ادامه این مقاله موجود است.
Matplotlib و Pandas
Pandas یک کتابخانه است که توسط matplotlib برای دستکاری و تجزیه و تحلیل دادهها استفاده میشود. Pandas یک آبجکت جدول داده دوبعدی در حافظه به نام Dataframe را فراهم میکند. برخلاف numpy، Pandas وابستگی لازم این کتابخانه نیست.
همانطور که در قطعه کد زیر نشان داده شده است، Pandas و numpy اغلب با هم استفاده میشوند:

Source Code این مثال در بخش Matplotlib: یک Pandas DataFrame ترسیم کنید، در ادامه این مقاله موجود است.
نحوه ایجاد نمودارهای Matplotlib
این بخش نحوه ایجاد نمونههایی از انواع مختلف نمودارها را با matplotlib نشان میدهد.
Matplotlib Line Plot
در این مثال، pyplot به صورت plt وارد میشود و سپس برای رسم سه عدد در یک خط مستقیم استفاده میشود:
import matplotlib.pyplot as plt
# Plot some numbers:
plt.plot([1, 2, 3])
plt.title(”Line Plot”)
# Display the plot:
plt.show()
شکل 1. Line Plot

Matplotlib Pie Plot
در این مثال، pyplot به صورت plt وارد میشود و سپس برای ایجاد نموداری با چهار بخش که دارای برچسبها، اندازهها و رنگهای مختلف هستند، استفاده میشود:
import matplotlib.pyplot as plt
# Data labels, sizes, and colors are defined:
labels = 'Broccoli', 'Chocolate Cake', 'Blueberries', 'Raspberries'
sizes = [30, 330, 245, 210]
colors = ['green', 'brown', 'blue', 'red']
# Data is plotted:
plt.pie(sizes, labels=labels, colors=colors)
plt.axis('equal')
plt.title(“Pie Plot”)
plt.show()
شکل 2. Pie Plot

Matplotlib Bar Plot
در این مثال، pyplot به صورت plt وارد میشود و سپس برای رسم سه نمودار میلهای عمودی استفاده میشود:
import matplotlib.pyplot as plt
import numpy as np
# Create a Line2D instance with x and y data in sequences xdata, ydata:
# x data:
xdata=['A','B','C']
# y data:
ydata=[1,3,5]
plt.bar(range(len(xdata)),ydata)
plt.title(“Bar Plot”)
plt.show()
شکل 3. Bar Plot

Matplotlib: یک آرایه Numpy ترسیم کنید
در این مثال، pyplot به صورت plt وارد میشود و سپس برای رسم محدودهای از اعداد ذخیره شده در یک آرایه numpy استفاده میشود:
import numpy as np
from matplotlib import pyplot as plt
# Create an ndarray on x axis using the numpy range() function:
x = np.arange(3,21)
# Store equation values on y axis:
y = 2 * x + 8
plt.title("NumPy Array Plot")
# Plot values using x,y coordinates:
plt.plot(x,y)
plt.show()
Matplotlib: یک Pandas DataFrame ترسیم کنید
در این مثال، pyplot به صورت plt وارد میشود و سپس برای ترسیم یکPandas DataFrame استفاده میشود:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# Hide axes without removing it:
fig.patch.set_visible(False)
ax.axis('off')
ax.axis('tight')
# Create a numpy random array in a pandas dataframe with 10 rows, 4 columns:
df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
plt.title("Pandas Dataframe Plot")
ax.table(cellText=df.values, colLabels=df.columns, loc='center')
fig.tight_layout()
plt.show()
چرا برای Data Science باید از ActiveState Python استفاده کنیم؟
در حالی که توزیع اپن سورس پایتون ممکن است برای یک فرد رضایت بخش باشد، اما همیشه نیازهای پشتیبانی، امنیت یا پلتفرم سازمانهای بزرگ را برآورده نمیکند.
به همین دلیل است که سازمان ها ActiveState Python را برای Data Science ، پردازش دادههای بزرگ و نیازهای تجزیه و تحلیل آماری خود انتخاب میکنند.
ActiveState Python به صورت Pre-bundled است و با مهمترین پکیجهای مورد نیاز مدیران ارشد داده، از پیش کامپایل شده است. بنابراین شما و تیمتان شاید مجبور نباشید زمان خود را برای پیکربندی توزیع اپن سورس تلف کنید. میتوانید روی آنچه مهم است تمرکز کنید: صرف زمان بیشتر برای ساخت الگوریتمها و مدلهای پیشبینی به جای پردازش منابع Big Data و صرف زمان کمتر برای پیکربندی سیستم.
ActiveState Python به صورت کامل با توزیع اپن سورس پایتون سازگار است و امنیت و پشتیبانی تجاری مورد نیاز سازمان شما را فراهم میکند.
با ActiveState Python میتوانید دادهها را کاوش و دستکاری کنید، تجزیه و تحلیل آماری را اجرا کنید، و تصویرسازیهایی را برای به اشتراک گذاشتن بینشها با کاربران و مدیران کسبوکارتان زودتر ارائه دهید. مهم نیست که دادههای شما در کجا قرار دارند.
برخی از پکیجهای محبوب Python
برخی از پکیجهای محبوب Python که با استفاده از ActiveState Python میتوانید آنها را برای Data Science ، Big Data و Machine Learning از پیش کامپایل کنید.
- Pandas (تجزیه و تحلیل دادهها)
- NumPy (آرایههای چند بعدی)
- SciPy (الگوریتمهایی برای استفاده با numpy)
- HDF5 (ذخیره و دستکاری دادهها)
- Matplotlib (Data Visualization)
- Jupyter (همکاری پژوهشی)
- PyTables (مدیریت مجموعه دادههای HDF5)
- HDFS (wrapper C/C++ برای Hadoop)
- pymongo (MongoDB driver)
- SQLAlchemy (ابزار Python SQL)
- redis (کتابخانههای دسترسی Redis)
- pyMySQL (MySQL connector)
- scikit-learn (یادگیری ماشین)
- TensorFlow (یادگیری عمیق با شبکههای عصبی)
- scikit-learn (الگوریتمهای یادگیری ماشین)
- keras (API شبکههای عصبی سطح بالا)
برای شروع ActiveState Python را دانلود کنید یا برای کسب اطلاعات بیشتر در مورد استفاده از ActiveState Python در سازمان خود با ما تماس بگیرید.
Leave feedback about this