معرفی کتابخانه Bokeh در پایتون

 

Bokeh یک کتابخانه شبیه سازی داده برای پایتون است.

برخلاف Matplotlib و Seaborn ( انواع ذیگری از کتابخانه برای شبیه سازی داده ها هستند) Bokeh طرح های خود را با استفاده از HTML و JavaScript ارائه می دهد. از این رو ، برای ایجاد داشبورد تحت وب بسیار کاربردی است.

پروژه Bokeh توسط NumFocus حمایت مالی می شود. NumFocus همچنین از PyData، یک برنامه آموزشی حمایت می کند که در توسعه ابزارهای مهم دیگر مانند NumPy ،Pandas و موارد دیگر پشتیبانی می کند. Bokeh می تواند به راحتی با این ابزارها ارتباط برقرار کند و طرح های تعاملی، داشبورد و برنامه های داده را تولید کند.

امکانات

Bokeh در درجه اول منبع داده را به یک پرونده JSON تبدیل می کند که به عنوان ورودی برای BokehJS، یک کتابخانه جاوا اسکریپت استفاده می شود، که به نوبه خود در TypeScript نوشته شده و شبیه سازی را در مرورگرهای جدید ارائه می دهد.

برخی از ویژگی های مهم Bokeh به شرح زیر است

انعطاف پذیری
Bokeh برای الزامات معمول نقشه کشی و همچنین موارد استفاده سفارشی و پیچیده مفید است.

 

بهره وری
Bokeh می تواند به راحتی با سایر ابزارهای محبوب Pydata مانند Pandas و Jupyter notebook ارتباط برقرار کند.


تعامل
این یک مزیت مهم Bokeh نسبت به Matplotlib و Seaborn است، هر دو طرح ایستایی تولید می کنند. Bokeh طرح های تعاملی را ایجاد می کند که با تعامل کاربر با آنها تغییر می کند. شما می توانید طیف وسیعی از گزینه ها و ابزارها را برای استنباط و مشاهده داده ها از زوایای مختلف به مخاطبان خود ارائه دهید تا کاربر بتواند تجزیه و تحلیل را انجام دهد.


قدرتمند
با افزودن جاوا اسکریپت سفارشی، امکان ایجاد شبیه سازی برای موارد استفاده تخصصی وجود دارد.


قابل اشتراک
طرح ها را می توان در خروجی برنامه های وب فعال شده Flask یا Django تعبیه کرد.

متن باز
Bokeh یک پروژه منبع باز است. با مجوز توزیع منبع برکلی (BSD) توزیع می شود. کد منبع آن در https://github.com/bokeh/bokeh در دسترس است.

 

 تنظیم محیط کار

Bokeh را می توان فقط با توزیع استاندارد و توزیع آناکوندا بر روی نسخه های Cypton 2.7 و ۳.۵+ نصب کرد. نسخه فعلی Bokeh در زمان نوشتن این آموزش. ۱.۳.۴. پکیج Bokeh دارای وابستگی های زیر است –

jinja2> = 2.7
numpy> = 1.7.1
بسته بندی> = 16.8
بالش> = 4.0
python-dateutil> = 2.1
pyyaml> = 3.10
six> = 1.5.2
tornado > = 4.3

به طور کلی، بسته های فوق هنگام نصب با استفاده از PIP همانطور که در زیر نشان داده شده است، به طور خودکار نصب می شوند

pip3 install bokeh

اگر از توزیع Anaconda استفاده می کنید ، از  conda به شکل زیر استفاده کنید

conda install bokeh

 

علاوه بر وابستگی های فوق، ممکن است برای اهداف خاص به بسته های اضافی مانند pandas، psutil و غیره نیز نیاز داشته باشید.

برای بررسی اینکه آیا Bokeh با موفقیت نصب شده است، بسته bokeh را در ترمینال پایتون وارد کنید و نسخه آن را بررسی کنید

>>> import bokeh
>>> bokeh.__version__
'۱.۳.۴'

شروع کار

ایجاد یک نمودار ساده خطی بین دو آرایه numpy بسیار ساده است. برای شروع ، توابع زیر را از ماژول های bokeh.plotting وارد کنید

تابع figure شکل جدیدی را برای رسم نمودار ایجاد می کند.

از تابع output_file برای تعیین یک فایل HTML برای ذخیره خروجی استفاده می شود.

تابع show شکل Bokeh را در مرورگر در نوت بوک نمایش می دهد.

دو آرایه numpy تنظیم کنید که در آن آرایه دوم مقدار سینوسی اول باشد.

import numpy as np
import math
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)

برای به دست آوردن یک شی Bokeh Figure، عنوان و برچسب های محور x و y را به صورت زیر مشخص کنید

p = figure(title = "sine wave example", x_axis_label = 'x', y_axis_label = 'y')

 

آبجکت Figure شامل یک متد line است که یک حروف خط به شکل اضافه می کند. برای محورهای x و y به سری داده نیاز دارد.

p.line(x, y, legend = "sine", line_width = 2)
در آخر، فایل خروجی و تابع show را فراخوانی کنید.
output_file("sine.html")
show(p)

کد کامل و خروجی آن به شرح زیر است

from bokeh.plotting import figure, output_file, show
import numpy as np
import math
x = np.arange(۰, math.pi*۲, ۰.۰۵)
y = np.sin(x)
output_file("sine.html")
p = figure(title = "sine wave example", x_axis_label = 'x', y_axis_label = 'y')
p.line(x, y, legend = "sine", line_width = ۲)
show(p)

خروجی در مرورگر

figure

 


مطالب پیشنهادی برای شما


 

محمد صداقتی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *