مصورسازی دادهها و داستانسرایی با داده، مهارتهایی حیاتی هستند که هر دانشمند داده برای انتقال موثر بینشهای حاصل از تحلیلها به مخاطبان خود، به آنها نیاز دارد. دیتایاد برگه تقلب Matplotlib را برای کسانی طراحی کرده است که شاید از قبل میدانند چگونه از این کتابخانه به نفع خود برای رسم نمودارهای زیبا در پایتون استفاده کنند، اما همچنان میخواهند یک راهنمای مرجع یکصفحهای دمدست داشته باشند. البته، برای کسانی که کار با Matplotlib را بلد نیستند، این برگه تقلب میتواند انگیزه مضاعفی باشد تا با شروع آموزش پایتون بالاخره کار با مصورسازی دادهها را شروع کنند.
برای بیشتر مبتدیان، اولین کتابخانهای که برای شروع کار با مصورسازی دادهها و داستانسرایی با داده از آن استفاده میکنند، به طور طبیعی Matplotlib است: این کتابخانه یک ابزار رسم نمودار دوبعدی پایتون است که کاربران را قادر میسازد نمودارهایی با کیفیت مناسب برای مقالات علمی خلق کنند. اما آنچه ممکن است حتی متقاعدکنندهتر باشد این واقعیت است که سایر کتابخانهها، مانند Pandas، با گذشت زمان به دنبال ایجاد یکپارچگی بیشتر با Matplotlib برای رسم نمودار هستند.

با این حال، آنچه ممکن است روند کار مبتدیان را کند کند، این واقعیت است که این کتابخانه بسیار گسترده است. کارهای زیادی وجود دارد که میتوانید با آن انجام دهید و شاید هنگام یادگیری کار با Matplotlib، حفظ یک ساختار منظم کمی دشوار باشد.
خواهید دید که این برگه تقلب، شش مرحله اساسی را که میتوانید برای رسم نمودارهای زیبا طی کنید، به شما ارائه میدهد.
برگه تقلب Matplotlib
با این مرجع کاربردی، در کوتاهترین زمان با اصول اولیه Matplotlib آشنا خواهید شد: یاد میگیرید که چگونه دادههای خود را آماده کنید، یک نمودار جدید بسازید، از برخی متدهای پایهای رسم نمودار به نفع خود استفاده کنید، نمودارهای خود را سفارشیسازی کنید و نمودارهایی را که میسازید ذخیره کنید، نمایش دهید و ببندید.
کتابخانه Matplotlib یک کتابخانه رسم نمودار دوبعدی در پایتون است که تصاویری با کیفیت مناسب برای انتشار علمی در انواع قالبهای خروجی فیزیکی و محیطهای تعاملی در پلتفرمهای مختلف تولید میکند.
آمادهسازی دادهها
دادههای یکبعدی
import numpy as np x = np.linspace(0, 10, 100) y = np.cos(x) z = np.sin(x)
دادههای دوبعدی یا تصاویر
data = 2 * np.random.random((10, 10))
data2 = 3 * np.random.random((10, 10))
Y, X = np.mgrid[-3:3:100j, -3:3:100j]
U = 1 X** 2 + Y
V = 1 + X Y**2
from matplotlib.cbook import get_sample_data
img = np.load(get_sample_data('axes_grid/bivariate_normal.npy'))
ساخت نمودار
import matplotlib.pyplot as plt
فیگور (Figure)
fig = plt.figure() fig2 = plt.figure(figsize=plt.figaspect(2.0))
محورها (Axes)
fig.add_axes() ax1 = fig.add_subplot(221) #row-col-num ax3 = fig.add_subplot(212) fig3, axes = plt.subplots(nrows=2,ncols=2) fig4, axes2 = plt.subplots(ncols=3)
ذخیره نمودار
plt.savefig('foo.png') #Save figures
plt.savefig('foo.png', transparent=True) #Save transparent figures
نمایش نمودار
plt.show()
روالهای ترسیم
دادههای یکبعدی
fig, ax = plt.subplots() lines = ax.plot(x,y) #Draw points with lines or markers connecting them ax.scatter(x,y) #Draw unconnected points, scaled or colored axes[0,0].bar([1,2,3],[3,4,5]) #Plot vertical rectangles (constant width) axes[1,0].barh([0.5,1,2.5],[0,1,2]) #Plot horiontal rectangles (constant height) axes[1,1].axhline(0.45) #Draw a horizontal line across axes axes[0,1].axvline(0.65) #Draw a vertical line across axes ax.fill(x,y,color='blue') #Draw filled polygons ax.fill_between(x,y,color='yellow') #Fill between y values and 0
دادههای دوبعدی
fig, ax = plt.subplots() im = ax.imshow(img, #Colormapped or RGB arrays cmap= 'gist_earth', interpolation= 'nearest', vmin=-2, vmax=2) axes2[0].pcolor(data2) #Pseudocolor plot of 2D array axes2[0].pcolormesh(data) #Pseudocolor plot of 2D array CS = plt.contour(Y,X,U) #Plot contours axes2[2].contourf(data1) #Plot filled contours axes2[2]= ax.clabel(CS) #Label a contour plot
میدانهای برداری
axes[0,1].arrow(0,0,0.5,0.5) #Add an arrow to the axes axes[1,1].quiver(y,z) #Plot a 2D field of arrows axes[0,1].streamplot(X,Y,U,V) #Plot a 2D field of arrows
توزیعهای داده
ax1.hist(y) #Plot a histogram ax3.boxplot(y) #Make a box and whisker plot ax3.violinplot(z) #Make a violin plot
آناتومی و گردش کار ترسیم
گردش کار
مراحل اساسی برای ایجاد ترسیمها با matplotlib عبارتند از:
۱. آمادهسازی دادهها
۲. ایجاد ترسیم
۳. ترسیم
۴. شخصیسازی ترسیم
۵. ذخیره ترسیم
۶. نمایش ترسیم
import matplotlib.pyplot as plt
x = [1,2,3,4] #Step 1
y = [10,20,25,30]
fig = plt.figure() #Step 2
ax = fig.add_subplot(111) #Step 3
ax.plot(x, y, color= 'lightblue', linewidth=3) #Step 3, 4
ax.scatter([2,4,6],
[5,15,25],
color= 'darkgreen',
marker= '^' )
ax.set_xlim(1, 6.5)
plt.savefig('foo.png' ) #Step 5
plt.show() #Step 6
بستن و پاکسازی
plt.cla() #Clear an axis plt.clf(). #Clear the entire figure plt.close(). #Close a window
شخصیسازی ترسیم
رنگها، نوارهای رنگی و نقشههای رنگی
plt.plot(x, x, x, x**2, x, x** 3) ax.plot(x, y, alpha = 0.4) ax.plot(x, y, c= 'k') fig.colorbar(im, orientation= 'horizontal') im = ax.imshow(img, cmap= 'seismic' )
نشانگرها
fig, ax = plt.subplots() ax.scatter(x,y,marker= ".") ax.plot(x,y,marker= "o")
سبک خطوط
plt.plot(x,y,linewidth=4.0) plt.plot(x,y,ls= 'solid') plt.plot(x,y,ls= '--') plt.plot(x,y,'--' ,x**2,y**2,'-.' ) plt.setp(lines,color= 'r',linewidth=4.0)
متن و حاشیهنویسی
ax.text(1,
-2.1,
'Example Graph',
style= 'italic' )
ax.annotate("Sine",
xy=(8, 0),
xycoords= 'data',
xytext=(10.5, 0),
textcoords= 'data',
arrowprops=dict(arrowstyle= "->",
connectionstyle="arc3"),)
متن ریاضی
plt.title(r '$sigma_i=15$', fontsize=20)
محدودیتها، راهنمای نمودار و چیدمانها
محدودهها و مقیاسدهی خودکار
ax.margins(x=0.0,y=0.1) #Add padding to a plot
ax.axis('equal') #Set the aspect ratio of the plot to 1
ax.set(xlim=[0,10.5],ylim=[-1.5,1.5]) #Set limits for x-and y-axis
ax.set_xlim(0,10.5) #Set limits for x-axis
راهنمای نمودار
ax.set(title= 'An Example Axes', #Set a title and x-and y-axis labels ylabel= 'Y-Axis', xlabel= 'X-Axis') ax.legend(loc= 'best') #No overlapping plot elements
تیکها
ax.xaxis.set(ticks=range(1,5), #Manually set x-ticks ticklabels=[3,100, 12,"foo" ]) ax.tick_params(axis= 'y', #Make y-ticks longer and go in and out direction= 'inout', length=10)
فاصلهگذاری نمودارهای فرعی
fig3.subplots_adjust(wspace=0.5, hspace=0.3, left=0.125, right=0.9, top=0.9, bottom=0.1) fig.tight_layout() #Fit subplot(s) in to the figure area
خطوط مرزی محور
ax1.spines[ 'top'].set_visible(False) #Make the top axis line for a plot invisible ax1.spines['bottom' ].set_position(( 'outward',10)) #Move the bottom axis line outward
از برگه تقلب Matplotlib تا خلق داستانهای واقعی با دادهها!
تسلط بر ابزاری مثل Matplotlib گام مهمی در مسیر مصورسازی است، اما نمودارها بدون داشتن درک عمیق از تحلیل داده و مدلسازی، کارایی لازم را نخواهند داشت. برای تبدیل شدن به فردی که تصمیمگیرندگان سازمانها به تحلیلهای او تکیه میکنند، باید بتوانید قطعات مختلف پازل علم داده را در کنار هم بچینید و از دل دادههای خام، ارزش تجاری خلق کنید.
برای اینکه این مسیر را به صورت اصولی و بدون سردرگمی در میان منابع پراکنده طی کنید، ما در دیتایاد مسیر ویژهای را برای شما طراحی کردهایم. با پیوستن به دوره یادگیری ماشین و علم داده با پایتون، یادگیری پروژهمحور و گامبهگام را از مفاهیم پایه پایتون تا پیشرفتهترین مدلهای هوش مصنوعی تجربه خواهید کرد.
- آموزش عمیق و کاربردی ابزارهای تحلیل و مصورسازی داده (از Matplotlib و Pandas تا کتابخانههای پیشرفته علمی)
- تسلط بر ریاضیات، آمار، یادگیری ماشین و یادگیری عمیق از صفر تا صد
- اجرای پروژههای واقعی و کاربردی جهت آمادهسازی همهجانبه برای ورود به بازار کار جذاب علم داده و هوش مصنوعی
بیشتر بخوانید: سایر برگه تقلبهای دیتایاد
- برگه تقلب پایتون
- برگه تقلب NumPy
- برگه تقلب Pandas
- برگه تقلب Scikit-learn
- برگه تقلب Keras
- برگه تقلب PyTorch
- برگه تقلب TensorFlow

