مصورسازی
مصورسازی اطلاعات روشی است که به منظور ایجاد درک بهتر از اطلاعات حجیم به ایجاد تصاویر، نمودارها یا انیمیشن ها میپردازیم و به کمک آن ها فرآیند تحلیل و تصمیم گیری مبتنی بر اطلاعات را تسهیل میکنیم. در محیط پایتون کتابخانه های مختلفی جهت مصورسازی وجود دارد که در اینجا، 10 مورد از آن ها را معرفی میکنیم. در ادامه نیز با بکارگیری کتابخانه matplotlib به حل یک مثال در محیط پایتون به صورت فیلم آموزشی میپردازیم.
کتابخانه matplotlib
اولین کتابخانه مصورسازی در پایتون که با وجود قدیمی بودن، همچنان یکی از کاربردی ترین ها میباشدکتابخانه matplotlib میباشد. بسیاری از کتابخانه های دیگری که بعد از این کتابخانه طراحی و ساخته شده اند، دستورهای این کتابخانه را پوشش داده و اجازه میدهند تا برخی از روش های کتابخانه matplotlib را با دستورهای کوتاه تر اجرا کنید، اما با این وجود ضعف هایی نیز دارد که کتابخانه های دیگر، سعی در برطرف کردن آن ها داشته اند.
کتابخانه seaborn
این کتابخانه مصورسازی علاوه بر امکان استفاده از دستورات کتابخانه matplotlib در چند خط کد ساده ، دارای سبک ها و پالت های رنگی پیش فرضی است که به شما کمک میکند تا نمودارهای زیباتر و مدرن تری را طراحی کنید.
کتابخانه ggplot
کتابخانه مصورسازی ggplot بر اساس ggplot2 که برای رسم نمودار در R است، طراحی شده و عملکرد متفاوتی از matplotlib دارد. این کتابخانه مصورسازی پایتون به شما اجازه میدهد که اجزای یه طرح کامل را لایه بندی کنید. برای مثال میتوانید با محها شروع کرده و با مشخص کردن نقاط، خط مورد نظر را رسم نماید.
کتابخانه Bokeh
این کتابخانه مصورسازی نیز مانند ggplot بر اساس Grammar of Graphics ساخته شده است اما بر خلاف کتابخانه ggplot، فقط برای پایتون طراحی شده و از زبان R الگو نگرفته است. نقطه قوت کتابخانه Bokeh ایجاد نمودارهای تعاملی و قابل لستفاده در محیط وب میباشد که میتوان از آن خروجی های JSON، HTML document و یا interactive web application گرفت. Bokeh همچنین از داده های stream و real-time پشتیبانی میکند.
کتابخانه مصورسازی Bokeh با توجه به تفاوت کاربران خود، سه نوع رابط کاربری مختلف از نظر سطح کنترل را دارا میباشد. بالا ترین سطح آن برای ایجاد سریع نمودارها است که برای ایجاد نمودارهای رایج مانند bar plot ها، box plot ها و یا هیستوگرام ها در محیط python مورد استفاده قرار میگیرد. سطح میانی آن مانند matplotlib اجازه کنترل اصول کلی هر نمودار را در اختیار قرار میدهد. اما پایین ترین سطح آن مربوط به توسعه دهندگان و مهندسان نرم افزار است که هیچ پیشفرضی نداشته و نیازمند تعریف تمام عناصر یک نمودار است.
کتابخانه pygal
این کتابخانه مصورسازی مانند کتابخانه های Bokeh و Plotly ، نمودار های تعاملی را ایجاد میکند که امکان قرار دادن آن ها در Web Browser ها نیز وجود دارد. تفاوت اصلی آن، توانایی خروجی نمودارها با فرمت SVG است. تا زمانی که دیتاست شما کوچک است، این کتابخانه میتواند خروجی مطلوبی به شما بدهد ولی در صورتی که نمودار خود را با صدها هزار داده بسازید، در تفسیر آن ها مشکل بوجود آمده و کند عمل خواهد کرد!
کتابخانه plotly
Plotly به عنوان یک پلتفرم آنلاین برای مصورسازی داده ها شناخته شده است ولی امکان دسترسی به آن از طریق نرم افزار پایتون نیز وجود دارد. این کتابخانه مانند Bokeh و Plotly نمودارهایی تعاملی را ایجاد میکند. ویژگی برجسته آن ایجاد نمودارهایی چون dendogram، contour plots و... است که در بیشتر کتابخانه ها یافت نمیشوند.
کتابخانه geoplotlib
Geoplotlib برای ساخت نقشه و ترسیم نمودار برای داده های جغرافیایی است که شما میتوانید انواع نقشه ها چون choropleths، heatmaps و dot density map را با استفاده از آن در python رسم کنید. برای استفاده از geoplotlib ابتدا باید Pyglet که یک رابط برنامه نویسی شی گرا میباشد را نصب کنید.
کتابخانه Gleam
کتابخانه Gleam این امکان را به شما میدهد تا تحلیل را در بستر تعاملی web app تنها با python scripts پیاده سازی کنید و نیازی به یادگیری زبان هایی چون HTML، CSS و یا JavaScript ندارید. Gleam با تمامی کتابخانه های مصورسازی داده در پایتون سازگار است. هنگامی که یک طرح را ایجاد کردید، میتوانید فیلد هایی را در بالای آن تعبیه کنید تا کاربران بتوانند داده ها را فیلتر و یا مرتب سازی کنند.
کتابخانه missingno
شناسایی داده های از رفته یا همان missing value ها در داده های حجیم ، کار ساده ای نیست. کتابخانه مصورسازی Missingno این امکان را برای شما فراهم میکند تا داده های از دست رفته را در قالب یک نمودار ساده شناسایی کنید! شما میتوانید داده ها را بر اساس کامل بودن و یا همبستگی نقطه ای با یک heatmap یا dendrogram فیلتر کرده و یا مرتب کنید.
کتابخانه Leather
Leather یکی از کتابخانه های رسم نمودار در python است که گفته میشود سرعت عمل بالایی دارد ولی از نظر دقت و زیبایی شناختی عملکرد ضعیفی دارد. این کتابخانه امکان استفاده از انواع داده ها و نمودارها را به کاربر میدهد و شما میتوانید بدون از دست دادن کیفیت، سایز آن ها را افزایش دهید. نکته مهم اینکه، به علت جدید بودن کتابخانه Leather، همچنان در حال تکمیل و به روزرسانی است.
منبع: وب سایت modeanalytics
توسعه مهارت با حل تمرین
برای 500 نفر با کمک توابع تولید اعداد تصادفی قد با میانگین 170، وزن با میانگین 67، سن با واریانس 5.5 و جنسیت مشخص کنید. سپس نمودار سه بعدی (3D Scatter Plot) مربوط به این داده ها را رسم کنید و برای ستون ها برچسب (Label) مناسب بگذارید
راهنمایی: با توجه به اینکه داده ها دارای 4 بعد هستند، میتوانید جنسیت را به صورت 0 و 1 تعریف کرده و آن را با رنگ آبی و قرمز در نمودار سه بعدی مشخص نمایید.
در فیلمک زیر، علیرضا قره داغی به حل تمرین بالا پرداخته است:
نظرات