10 مهر 1402
تهران، خیابان آزادی، تقاطع قریب
برنامه نویسی نرم افزار

Matplotlip در پایتون چیست؟

Matplotlipدر پایتون چیست؟
با برگذاری یک مینی دوره رایگان موافقید؟
برای ثبت نام در مینی دوره رایگان فرم زیر رو پر کنید.

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

Matplotlib و NumPy

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

Matplotlib و NumPy

Source Code این مثال در بخش Matplotlib: Plot a Numpy Array ، در ادامه این مقاله موجود است.

Matplotlib و Pandas

Pandas یک کتابخانه است که توسط matplotlib برای دستکاری و تجزیه و تحلیل داده‌ها استفاده می‌شود. Pandas یک آبجکت جدول داده دوبعدی در حافظه به نام Dataframe را فراهم می‌کند. برخلاف numpy، Pandas وابستگی لازم این کتابخانه نیست.

همانطور که در قطعه کد زیر نشان داده شده است، Pandas و numpy اغلب با هم استفاده می‌شوند:

Pandas

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

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

شکل 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

شکل 3. Bar Plot تولید شده توسط Matplotlib

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 در سازمان خود با ما تماس بگیرید.

منبع ترجمه: activestate

Leave feedback about this

  • کیفیت
  • قیمت
  • خدمات

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video
X