معرفی کتابخوانه پلاتلی (Plotly)(بخش اول)

نگاهی کلی به پلاتلی :پلاتلی یکی دیگر از ابزارهای تجسم داده برای زبان هایی مثل پایتون و جاوااسکریپت است که با زبانهایمتعددی از جمله جاوااسکریپت نوشته شده است. به دلیل اینکه زبان اصلی این کتابخانه جی اس است، سازگاریبسیاری با پیادهسازی تحت وب دارد و میتوان به این وسیله، نمودارهایی با فرمت HTML تجسم کرد.شروع کار با پلاتلی :همانگونه که قبلا گفته شده، میتوان در محیط conda با استفاده از اسم یک کتابخانه، آنرا نصب کرد.به راحتی از این کد استفاده کرده و آنرا دانلود و نصب میکنیم.conda install -c plotly plotly=5.4.0پس از نصب میتوان در محیط جوپیتر شروع به استفاده از این کتابخانه کرد. پس در قسمت بعد همراه ما باشیدمرحله بعدی ایمپورت و استفاده اولیه از این کتابخانه میباشد:import plotly.graph_objects as go fig = go.Figure(data=go.Bar(y=[2, 3, 1])) fig.write_html('first_figure.html', auto_open=True)در این قطعه کد، ابتدا کتابخانه ایمپورت شده و سپس، نمودار ساده ای تعریف شده و در مرورگر به طور خودکار نمایش داده میشود. همانگونه که مشاهده میشود، نمودار کاملا تعاملی است و نشانه ی قدرت این کتابخانه است.این صفحه ی مرورگر است که به طور خودکار توسط آرگمان « auto_open باز میشود. import plotly.graph_objects as go fig = go.Figure(data=go.Bar(y=[2, 3, 1])) fig.show()به خاطر پشتیبانی پلاتلی از جوپیتر، میتوان خروجی این نمودار را مستقیم در این محیط پیاده سازی کردکه به بازکردن مرورگر نیازی نداشته باشد. نمودار همچنان تعاملی است. پکیج پلاتلی پایتون برای ایجاد، دستکاری و ارائه اشکال گرافیکی (مانند نمودارها، نمودارها و نقشه ها) وجود داردکه توسط ساختارهای داد های که به آنها شکل ( figure ) نیز گفته میشود، استفاده میشوند.نکته: توصیه ی ما این است که برای شروع پلاتلی، از ماژول سطح بالای plotly.express که به عنوان Plotly Express نیز شناخته می شود، و از توابع پایتونی استفاده میکند، استفاده کنید. ما نیز برای شروع توابع سادهای را برای شما پیاده سازی میکنیم و بعدا به طور حرفه ای تر وارد جزییات میشویم.سر بسته Plotly Express (px) : نمودار line : میتوان هر شکل پلاتلی که توسط Plotly Express پیاده سازی شده را توسط متد show نمایش داد و یابا متد print خروجی JSON آنرا چاپ نمود.import plotly.express as px fig = px.line(x=[&quota&quot,&quotb&quot,&quotc&quot], y=[1,3,2], title=&quotsample figure&quot) print(fig) fig.show()این px خروجی هایی از جنس کلاس px graph_object دارند که از این طریق میتوان نمودار های سریع ولی با دقت بالا درست کرد.خروجی:Figure({ 'data': [{'hovertemplate': 'x=%{x}<br>y=%{y}<extra></extra>', 'legendgroup': '','line': {'color': '#636efa', 'dash': 'solid'},'mode': 'lines','name': '','orientation': 'v','showlegend': False,'type': 'scatter','x': [a, b, c],'xaxis': 'x','y': array([1, 3, 2], dtype=int64),'yaxis': 'y'}],'layout': {'legend': {'tracegroupgap': 0},'template': '...','title': {'text': 'sample figure'},'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0], 'title': {'text': 'x'}},'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0], 'title': {'text': 'y'}}}})شکل:حال به شکل های مختلفی میتوان از این ماژول برای رسم نمودار استفاده کرد.برای مثال نمودار scatter تعریف میکنیم:df = px.data.iris() fig = px.scatter(df, x=&quotsepal_width&quot, y=&quotsepal_length&quot, color=&quotspecies&quot, title=&quotA Plotly Express Figure&quot) fig.show()همانگونه که مشاهده میکنید، برای نام لجند مثال ازآرگمان color استفاده کردیم.خروجی:توجه داشته باشید که تمام این خروجی ها صرفا عکس از نمودار نمیباشد و به تعاملات کاربر عمل میکند.پارامتر px اما جدی تر :خب تا اینجا کمی با پلاتلی اکسپرس آشنا شدیم، حال میخواهیم وارد جزئیات آن شویم:ماژول plotly.express (معمولاً به صورت px وارد میشود) حاوی توابعی است که میتوانند کل فیگورها را دریک زمان ایجاد کنند و به آن Plotly Express یا PX میگویند. پلاتلی اکسپرس بخشی داخلی از کتابخانهنموداری است و نقطه شروع توصیه شده برای ایجاد اکثر فیگورها است. هر تابع پلاتلی اکسپرس به صورت داخلیاز اشیاء گراف استفاده می کند و نمونه ای از plotly.graph_objects.Figure را برمی گرداند. در طولمستندات پلاتلی، شما در بالای هر صفحه ی قابل اجرا روش ساخت هرشکل در پلاتلی اکسپرس را خواهید دید،که به دنبال آن بخشی در مورد نحوه استفاده از اشیاء نمودار برای ساختن شکل های مشابه وجود دارد. هر شکلیکه در یک فراخوانی تابع با پلاتلی اکسپرس ایجاد می شود، می تواند تنها با استفاده از اشیاء نمودار ایجاد شود ،اما با کد بین 5 تا 100 برابر بیشتر.پلاتلی اکسپرس بیش ا ز 30 تابع را برای ایجاد انواع مختلف ارائه می ده د. این API برای این توابع به گونه ایبا دقت طراحی شده که تا ح د امکان سازگار و آسان برای یادگیری باش د و تغییر بین اشکال از نمودار پراکندگیبه نمودار میله ای، به هیستوگرام یا به نمودار خورشیدی در طول یک داده کاوی را آسان می کن د.از بین این سی تابع، تعدادی را در این آموزش، توضیح میدهیم:• Basics: scatter, line, area, bar• Part-of-Whole: pie• 1D Distributions: histogram, boxتعدادی از این توابع قبلا مثال زده شده و برای بقیه، نیز مثالهایی آورده میشود.ادامه مطلب را در قسمت بعدی بخوانید ...انجمن هوش مصنوعی دانشگاه اصفهاناحسان قیچی سازامیرمحسن براهیمیابوالفضل شیشه گرعلیرضا عشقی