কম্পিউটার টিউটোরিয়াল

পাইথনে বোকেহ (Bokeh) ব্যবহার করে ক্যান্ডেলস্টিক প্লট (Candlestick plot) জেনারেট করার পদ্ধতি


বোকেহ (Bokeh) একটি পাইথন প্যাকেজ যা ডেটা ভিজ্যুয়ালাইজেশনে সাহায্য করে। এটি একটি ওপেন সোর্স প্রজেক্ট। বোকেহ HTML এবং JavaScript ব্যবহার করে প্লট রেন্ডার করে। এটি নির্দেশ করে যে এটি ওয়েব-বেসড ড্যাশবোর্ডের সাথে কাজ করার সময় উপকারী।

বোকেহ 넘পাই (NumPy), প্যান্ডাস (Pandas) এবং অন্যান্য পাইথন প্যাকেজের সাথে সহজে ব্যবহার করা যায়। এটি ইন্টারেক্টিভ প্লট, ড্যাশবোর্ড ইত্যাদি তৈরি করতে ব্যবহার করা যায়।

বোকেহর ডিপেন্ডেন্সিগুলো (Dependencies):

Numpy Pillow Jinja2 Packaging Pyyaml Six Tornado Python-dateutil

Windows কমান্ড প্রম্পটে বোকেহ ইনস্টলেশন:

pip3 install bokeh

Anaconda প্রম্পটে বোকেহ ইনস্টলেশন:

conda install bokeh

নিচে একটি উদাহরণ দেওয়া হলো:

উদাহরণ

from math import pi
import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.sampledata.stocks import MSFT
my_df = pd.DataFrame(MSFT)[:35]
my_df["date"] = pd.to_datetime(my_df["date"])
inc = my_df.close > my_df.open
dec = my_df.open > my_df.close
w = 12*60*60*1000
TOOLS = "pan,wheel_zoom,box_zoom,reset,save"
p = figure(x_axis_type="datetime", tools=TOOLS, plot_width=1000, title = "Candlestick using MSFT data")
p.xaxis.major_label_orientation = pi/4
p.grid.grid_line_alpha=0.3
p.segment(my_df.date, my_df.high, my_df.date, my_df.low, color="black")
p.vbar(my_df.date[inc], w, my_df.open[inc], my_df.close[inc], fill_color="#D5E1DD", line_color="black")
p.vbar(my_df.date[dec], w, my_df.open[dec], my_df.close[dec], fill_color="#F2583E", line_color="black")
output_file("candlestick.html", title="candlestick plot")
show(p)

নোট - এই কোড চালানোর পূর্বশর্ত হচ্ছে বোকেহ ইনস্টল করা এবং নিচের কমান্ড চালিয়ে স্যাম্পল ডেটাসেট ডাউনলোড করা।

bokeh.sampledata.download()

আউটপুট

পাইথনে বোকেহ (Bokeh) ব্যবহার করে ক্যান্ডেলস্টিক প্লট (Candlestick plot) জেনারেট করার পদ্ধতি

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজ আমদানি করা হয়েছে এবং আলায়াস দেওয়া হয়েছে।

  • MSFT ডেটা বোকেহ লাইব্রেরিতে বিল্ট-ইন ডেটাসেট হিসেবে থাকে।

  • এটি একটি ডেটাফ্রেম (dataframe) হিসেবে সংরক্ষিত হয়েছে।

  • প্লট প্রস্থ এবং উচ্চতার সাথে 'figure' ফাংশন কল করা হয়েছে।

  • জেনারেট হওয়া HTML ফাইলের নাম উল্লেখ করতে 'output_file' ফাংশন কল করা হয়েছে।

  • 'TOOLS' অ্যাট্রিবিউট ডিফাইন করা হয়েছে।

  • ডেটার সাথে বোকেহের 'vbar' ফাংশন কল করা হয়েছে।

  • প্লট প্রদর্শন করতে 'show' ফাংশন ব্যবহার করা হয়েছে।


  1. পাইথনে Matplotlib ব্যবহার করে ৩D ওয়ারফ্রেম প্লট (Wireframe Plot) তৈরির পদ্ধতি

  2. Matplotlib দিয়ে Python-এ 3D কন্টুর প্লট তৈরি করার পদ্ধতি

  3. Python-এ Matplotlib ব্যবহার করে একই গ্রাফে ৩টি ভিন্ন ডেটাসেট প্লট করা

  4. পাইথনে Seaborn-র barplot দিয়ে ডেটা ভিজ্যুয়ালাইজ করার পদ্ধতি