لگو وب سایت هوشمندان
جستجو

آشنایی با Mayavi کتابخانه ای قدرتمند در پایتون جهت نمایش داده های چند بعدی

معرفی Mayavi

اگر از زبان برنامه نویسی پایتون استفاده می کنید، قطعاً با ابزارهای متعددی که جهت نمایش و کار با داده ها در این زبان وجود دارد آشنا هستید. پیش از این به مقایسه کتابخانه های رایگان پایتون برای داده کاوی و تجزیه و تحلیل داده های بزرگ پرداختیم اما حال می خواهیم به Matplotlib  که یکی از این ابزارها برای نمایش و کار با داده ها است بپردازیم که در عین سادگی دارای توابع مختلفی برای تجسم داده ها است. این کتابخانه دارای توابع متعددی جهت کار با داده های دو بعدی بوده و تنظیمات مختلفی را نیز می توان روی خروجی انجام داد. اما اگر بخواهیم توابع سه بعدی یا چند بعدی را با این کتابخانه نمایش دهیم کار کمی مشکل خواهد بود. اگر چه که برای رسم توایع سه بعدی در این کتابخانه توابعی وجود دارد اما خروجی آن چندان جذاب نبوده و بنابراین برای نمایش توابع سه بعدی و یا چندبعدی باید به دنبال ابزار دیگری باشیم. یکی از ابزارهای مفیدی که وجود دارد کتابخانه قدرتمند Mayavi است.

Mayavi به زبان برنامه نویسی پایتون نوشته شده و با استفاده از کتابخانه VTK محیطی گرافیکی برای تجسم داده ها فراهم می کند. این کتابخانه توسط Prabhu Ramachandran و  تحت مجوز BSD و به صورت رایگان توسعه داده شده است. از آن می توان در سیستم عامل های مختلف استفاده کرد. نام این کتابخانه از زبان سانکریت گرفته شده و به معنی جادویی است. آخرین نسخه این کتابخانه که Mayavi2 نام دارد بخشی از برنامه علمی نوشته شده به زبان برنامه نویسی پایتون با نام Enthought suite است.

برخی از مهمترین ویژگی های Mayavi 

رابط کاربری قدرتمند برای تعامل با داده ها و اشیا در محیط شبیه سازی:

 بعد از خروجی کد پایتون یک پنجره رابط گرافیکی (GUI) ایجاد شده که شامل چندین بخش بوده. در بخشی از آن خروجی نشان داده شده و در سایر قسمت ها می توان تنظیماتی مانند رنگ، پس زمینه، محورهای مختصاتی ، برچسب و... به شکل خروجی اضافه کرد.

محیطی ساده برای اجرای کدهای پایتون، برنامه نویسی شی گرا و امکان استفاده از کدنویسی به روش زبان برنامه نویسی متلب:

 اگر چه در کتابخانه VTK هم می توان داده های برداری و چند بعدی را نمایش داد اما مزیت Mayavi در این است که با تعداد خط کد بسیار کمتر (مانند متلب) همان کار را می توان انجام داد.

نمایش داده های برداری، اسکالر و تانسوری در دو و سه بعد: 

همانطور که گفته شد در Matplotlib تعامل و تجسم داده های چند بعدی دشوار بوده و خروجی نیز از نظر گرافیکی و ظاهری جالب نیست اما Mayavi با داشتن نقشه های رنگی متنوع و زیبا امکان ایجاد اشکال زیبا و با کیفیتی را از نظر گرافیکی  فراهم می کند.

استفاده از کتابخانه قدرتمند VTK بدون نیاز به یادگیری آن: 

اگرچه VTK یک کتابخانه قدرتمند گرافیکی و محبوب بوده اما به دلیل نداشتن رابط گرافیکی باید تمام کارها با کد انجام شده و رسم یک تابع ساده سه بعدی در آن نیاز به ده ها خط کد دارد. در حالیکه در Mayavi تنها نیاز به چندین خط کد برای نمایش همان تابع داریم.

استفاده از آن به همراه سایر کتابخانه های پایتون

در کنار سایر کتابخانه های محبوبی چون Matplotlib, numpy و یا حتی Tkinter می توان برای تجسم داده ها از Mayavi استفاده کرد که قادر به تعامل با آن ها می باشد.

نحوه نصب Mayavi 

برای نصب این کتابخانه باید دستورات زیر را در pip اجرا کنیم:

pip install mayavi
pip install PyQt5

مثال:

بعد از نصب به یک مثال برای کار با این کتابخانه می پردازیم. با استفاده از دستورات زیر به راحتی می توان هارمونیک های کروی را به عنوان یک سطح توسط این کتابخانه نمایش داد:

 

# Create the data.
from numpy import pi, sin, cos, mgrid
dphi, dtheta = pi/250.0, pi/250.0
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
from mayavi import mlab
s = mlab.mesh(x, y, z)
mlab.show()

در پایان

همان طور که می دانیم برنامه نویسی یک کارآفرینی است و فردی که می خواهد در این حرفه کار خود را شروع کند باید بداند که بهترین و کاربردی ترین زبان های برنامه نویسی کدام است همان طور که می دانیم زبان برنامه نویسی پایتون یکی از رایج ترین زبان های برنامه نویسی است که یادگیری آن  کمک زیادی به برنامه نویسان مبتدی می کند. ممکن است این سوال ذهن شما را درگیر کند که کدام زبان برنامه نویسی آینده شغلی بهتری دارد. بنابراین به شما آموزش ویدیوی پایتون در قالب پروژه ی مدیا پلیر  را پیشنهاد می کنم. همچنین همراه با آموزش پایتون شما می توانید از آموزش یادگیری ماشین با استفاده از R و پایتون نیز استفاده کنید.  

داستان عجیب دو تریدر برتر تاریخ که شما را شوکه میکندبهترین از نظر کاربران
داستان عجیب دو تریدر برتر ...
چرا باید یک عکاس شویمآخرین پست
چرا باید یک عکاس شویم