Plotly ব্যবহার করে একটি সহজ এবং ইন্টারেকটিভ প্লট তৈরি করা বেশ সহজ। Python এ Plotly লাইব্রেরি ব্যবহার করে বিভিন্ন ধরনের গ্রাফ তৈরি করা সম্ভব, যেমন লাইন চার্ট, বার চার্ট, স্ক্যাটার প্লট ইত্যাদি। এখানে আমরা একটি সহজ লাইন চার্ট তৈরির উদাহরণ দেখব।
Plotly ইনস্টল করা
Plotly লাইব্রেরি ব্যবহারের জন্য প্রথমে এটি ইনস্টল করতে হবে। নিচের কমান্ডটি ব্যবহার করে আপনি Plotly ইনস্টল করতে পারেন:
pip install plotly
Basic Line Plot তৈরি করা
এখানে একটি সহজ লাইন চার্ট তৈরির উদাহরণ দেওয়া হলো, যেখানে আমরা কিছু ডেটা পয়েন্ট ব্যবহার করব।
import plotly.graph_objects as go
# ডেটা ডিফাইন করা
x_values = [1, 2, 3, 4, 5]
y_values = [10, 11, 12, 13, 14]
# লাইন প্লট তৈরি
fig = go.Figure(data=go.Scatter(x=x_values, y=y_values, mode='lines', name='Line Plot'))
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
go.Figure(): এটি একটি ফিগার অবজেক্ট তৈরি করে, যা প্লটটি ধারণ করবে।go.Scatter(): এই ফাংশনটি দিয়ে লাইন চার্ট বা স্ক্যাটার প্লট তৈরি করা হয়। এখানেmode='lines'ব্যবহার করা হয়েছে, যা লাইন প্লট তৈরি করবে।fig.show(): এটি গ্রাফটি ওয়েব ব্রাউজারে প্রদর্শন করবে।
Basic Bar Plot তৈরি করা
এখানে একটি সহজ বার চার্ট তৈরির উদাহরণ দেওয়া হলো:
import plotly.graph_objects as go
# ডেটা ডিফাইন করা
categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 20, 30, 40, 50]
# বার প্লট তৈরি
fig = go.Figure(data=go.Bar(x=categories, y=values))
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
go.Bar(): এটি বার চার্ট তৈরি করার জন্য ব্যবহৃত হয়।x=categories: X-অক্ষের জন্য ক্যাটেগরি বা লেবেল প্রদান করা হচ্ছে।y=values: Y-অক্ষের জন্য ডেটা প্রদান করা হচ্ছে।
Basic Scatter Plot তৈরি করা
স্ক্যাটার প্লট তৈরির উদাহরণ:
import plotly.graph_objects as go
# ডেটা ডিফাইন করা
x_values = [1, 2, 3, 4, 5]
y_values = [10, 20, 30, 40, 50]
# স্ক্যাটার প্লট তৈরি
fig = go.Figure(data=go.Scatter(x=x_values, y=y_values, mode='markers', name='Scatter Plot'))
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
mode='markers': এটি স্ক্যাটার প্লট তৈরির জন্য ব্যবহার করা হয়, যেখানে পয়েন্টগুলো মার্কার হিসেবে প্রদর্শিত হয়।
সারাংশ
Plotly দিয়ে সহজেই বিভিন্ন ধরনের প্লট তৈরি করা যায়। উল্লিখিত উদাহরণগুলো শুধু শুরু, এবং আপনি এই প্লটগুলোর বিভিন্ন বৈশিষ্ট্য কাস্টমাইজ করতে পারেন যেমন রং, লেবেল, টাইটেল ইত্যাদি। Plotly ইন্টারেকটিভ গ্রাফের জন্য খুবই উপযোগী একটি টুল যা ডেটা বিশ্লেষণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Plotly দিয়ে সহজেই ইন্টারেকটিভ লাইন প্লট (Line Plot) তৈরি করা যায়, যা ডেটার ট্রেন্ড বা পরিবর্তনকে স্পষ্টভাবে প্রদর্শন করে। লাইন প্লট সাধারণত দুটি ভেরিয়েবলের মধ্যে সম্পর্ক দেখানোর জন্য ব্যবহৃত হয়, যেখানে একটি ভেরিয়েবল এক্স-অক্ষ এবং অন্যটি ওয়াই-অক্ষে প্রদর্শিত হয়।
Line Plot তৈরি
Plotly দিয়ে Line Plot তৈরি করতে সাধারণত plotly.graph_objects বা plotly.express লাইব্রেরি ব্যবহার করা হয়। নিচে একটি সহজ উদাহরণ দেওয়া হলো যেখানে plotly.graph_objects ব্যবহার করে লাইন প্লট তৈরি করা হয়েছে:
import plotly.graph_objects as go
# ডেটা
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]
# লাইন প্লট তৈরি
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'))
# গ্রাফ প্রদর্শন
fig.show()
এখানে go.Scatter ব্যবহার করা হয়েছে, যেখানে mode='lines' উল্লেখ করা হয়েছে। এটি লাইন গ্রাফ তৈরি করবে।
Line Plot Customization
Plotly দিয়ে তৈরি লাইন প্লটকে কাস্টমাইজ করা যায় নানা দৃষ্টিকোণ থেকে, যেমন গ্রাফের শিরোনাম, অক্ষের লেবেল, রং, লাইন স্টাইল, এবং আরও অনেক কিছু। নিচে কিছু সাধারণ কাস্টমাইজেশন অপশন তুলে ধরা হলো:
১. অক্ষের শিরোনাম ও গ্রাফ শিরোনাম
fig.update_layout(
title='লাইন প্লটের শিরোনাম', # গ্রাফ শিরোনাম
xaxis_title='এক্স অক্ষ', # এক্স অক্ষের শিরোনাম
yaxis_title='ওয়াই অক্ষ' # ওয়াই অক্ষের শিরোনাম
)
২. লাইন স্টাইল এবং রং পরিবর্তন
fig.update_traces(line=dict(color='red', width=3, dash='dot')) # লাল রঙের ডটেড লাইন
এখানে color, width, এবং dash ব্যবহার করে লাইনটির রং, প্রস্থ এবং স্টাইল কাস্টমাইজ করা হয়েছে।
৩. পয়েন্টে মার্কার যোগ করা
fig.update_traces(mode='lines+markers', marker=dict(color='blue', size=10)) # পয়েন্টে ব্লু মার্কার
এখানে mode='lines+markers' দিয়ে লাইন এবং মার্কার দুইটি একসঙ্গে দেখানো হয়েছে, এবং marker দিয়ে মার্কারের রং ও আকার কাস্টমাইজ করা হয়েছে।
৪. লেজেন্ড কাস্টমাইজেশন
fig.update_layout(
legend=dict(
title='লেজেন্ড শিরোনাম', # লেজেন্ডের শিরোনাম
x=0.8, # লেজেন্ডের অবস্থান (x: 0 থেকে 1)
y=0.9 # লেজেন্ডের অবস্থান (y: 0 থেকে 1)
)
)
এখানে legend কাস্টমাইজ করে লেজেন্ডের শিরোনাম এবং অবস্থান পরিবর্তন করা হয়েছে।
৫. Gridlines এবং Background Color কাস্টমাইজেশন
fig.update_layout(
plot_bgcolor='lightgray', # গ্রাফের ব্যাকগ্রাউন্ডের রং
xaxis=dict(showgrid=True, gridcolor='white'), # এক্স অক্ষের গ্রিডলাইন
yaxis=dict(showgrid=True, gridcolor='white') # ওয়াই অক্ষের গ্রিডলাইন
)
এখানে plot_bgcolor দিয়ে গ্রাফের ব্যাকগ্রাউন্ডের রং এবং showgrid দিয়ে গ্রিডলাইন চালু করা হয়েছে।
সম্পূর্ণ কোড উদাহরণ
নিচে একটি সম্পূর্ণ কাস্টমাইজড লাইন প্লটের কোড উদাহরণ দেওয়া হলো:
import plotly.graph_objects as go
# ডেটা
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]
# লাইন প্লট তৈরি
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines+markers'))
# কাস্টমাইজেশন
fig.update_traces(
line=dict(color='red', width=3, dash='dot'),
marker=dict(color='blue', size=10)
)
fig.update_layout(
title='কাস্টমাইজড লাইন প্লট',
xaxis_title='এক্স অক্ষ',
yaxis_title='ওয়াই অক্ষ',
plot_bgcolor='lightgray',
xaxis=dict(showgrid=True, gridcolor='white'),
yaxis=dict(showgrid=True, gridcolor='white'),
legend=dict(title='লেজেন্ড শিরোনাম', x=0.8, y=0.9)
)
# গ্রাফ প্রদর্শন
fig.show()
সারাংশ
Plotly দিয়ে লাইন প্লট তৈরি এবং কাস্টমাইজ করা সহজ এবং কার্যকরী। এর মাধ্যমে আপনি ডেটার ট্রেন্ড বা সম্পর্ক ইন্টারেকটিভভাবে উপস্থাপন করতে পারেন এবং বিভিন্ন কাস্টমাইজেশন অপশন ব্যবহার করে গ্রাফটির ডিজাইন ও কার্যকারিতা আরও উন্নত করতে পারেন।
Plotly দিয়ে বার (Bar) এবং কলাম (Column) চার্ট তৈরি করা খুবই সহজ এবং ইন্টারেকটিভ। এই ধরনের চার্টগুলো সাধারণত ক্যাটেগোরিকাল ডেটা প্রদর্শন করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, বিভিন্ন শ্রেণীর মধ্যে তুলনা বা ডিস্ট্রিবিউশন দেখতে বার এবং কলাম চার্ট ব্যবহার করা হয়।
Bar Chart তৈরি করা
Bar Chart সাধারণত অনুভূমিক (Horizontal) বা উল্লম্ব (Vertical) দুটি স্টাইলে তৈরি করা যায়। এখানে আমরা একটি সাধারণ বার চার্ট তৈরি করব যেখানে বিভিন্ন দেশের মোট জনসংখ্যা প্রদর্শিত হবে।
import plotly.graph_objects as go
# ডেটা
countries = ['USA', 'Canada', 'India', 'Australia', 'UK']
population = [331, 38, 1391, 26, 68] # মিলিয়ন
# বার চার্ট তৈরি
fig = go.Figure(go.Bar(
x=countries, # দেশগুলোর নাম
y=population, # জনসংখ্যা
))
# চার্ট প্রদর্শন
fig.show()
এটি একটি সাধারণ বার চার্ট তৈরি করবে যেখানে দেশের নাম এবং তাদের জনসংখ্যা প্রদর্শিত হবে।
Column Chart তৈরি করা
Column Chart, বা উল্লম্ব বার চার্ট, যা সাধারণত বার চার্টের অনুরূপ, তবে এখানে বারগুলো উল্লম্বভাবে স্থাপন করা হয়। এটি সাধারণত ক্যাটেগোরিকাল ডেটার জন্য ব্যবহৃত হয়।
import plotly.graph_objects as go
# ডেটা
countries = ['USA', 'Canada', 'India', 'Australia', 'UK']
population = [331, 38, 1391, 26, 68] # মিলিয়ন
# কলাম চার্ট তৈরি
fig = go.Figure(go.Bar(
x=countries, # দেশগুলোর নাম
y=population, # জনসংখ্যা
orientation='v' # উল্লম্ব কলাম
))
# চার্ট প্রদর্শন
fig.show()
এটি একটি কলাম চার্ট তৈরি করবে যেখানে দেশের নাম এবং তাদের জনসংখ্যা উল্লম্বভাবে প্রদর্শিত হবে।
গ্রাফ কাস্টমাইজেশন
Plotly-তে তৈরি করা বার এবং কলাম চার্ট কাস্টমাইজ করা সহজ। যেমন, গ্রাফের রং, এক্স-অ্যাক্সিস এবং ওয়াই-অ্যাক্সিস লেবেল, গ্রিডলাইনস, টাইটেল ইত্যাদি পরিবর্তন করা যেতে পারে।
import plotly.graph_objects as go
# ডেটা
countries = ['USA', 'Canada', 'India', 'Australia', 'UK']
population = [331, 38, 1391, 26, 68] # মিলিয়ন
# কলাম চার্ট তৈরি এবং কাস্টমাইজেশন
fig = go.Figure(go.Bar(
x=countries,
y=population,
marker=dict(color='royalblue'), # বারগুলোর রং
))
# গ্রাফ কাস্টমাইজ করা
fig.update_layout(
title="বিশ্বের বিভিন্ন দেশের জনসংখ্যা", # টাইটেল
xaxis_title="দেশ",
yaxis_title="জনসংখ্যা (মিলিয়ন)",
)
# চার্ট প্রদর্শন
fig.show()
এই উদাহরণে, আমরা বারগুলোর রঙ 'royalblue' সেট করেছি এবং এক্স-অ্যাক্সিস ও ওয়াই-অ্যাক্সিসের টাইটেল এবং গ্রাফের মূল শিরোনাম কাস্টমাইজ করেছি।
বার এবং কলাম চার্টের মধ্যে পার্থক্য
- Bar Chart (অনুভূমিক বার): এখানে বারগুলো অনুভূমিকভাবে প্রদর্শিত হয়। এটি সাধারণত দীর্ঘ টেক্সট বা ক্যাটেগরি নামের জন্য ব্যবহার করা হয়।
- Column Chart (কলাম চার্ট): এটি একটি সাধারণ উল্লম্ব বার চার্ট, যেখানে বারগুলো উল্লম্বভাবে প্রদর্শিত হয় এবং সাধারণত সময়ভিত্তিক ডেটা বা সংখ্যার তুলনা দেখাতে ব্যবহৃত হয়।
এইভাবে Plotly দিয়ে আপনি খুব সহজেই বার এবং কলাম চার্ট তৈরি করতে পারবেন এবং প্রয়োজনে তা কাস্টমাইজও করতে পারবেন।
Pie chart (পাই চার্ট) হল একটি বৃত্তাকার চার্ট যেখানে একটি পূর্ণ বৃত্তকে বিভিন্ন সেগমেন্টে ভাগ করা হয়, প্রতিটি সেগমেন্টের আকার তার প্রোপোরশনাল ভ্যালুর উপর ভিত্তি করে। এটি সাধারণত বিভিন্ন শ্রেণীর তুলনা বা অনুপাত বুঝাতে ব্যবহৃত হয়।
Plotly তে Pie Chart তৈরি
Plotly দিয়ে পাই চার্ট তৈরি করা খুবই সহজ। আপনি শুধু ডেটা সেট এবং সেগমেন্টের নাম নির্ধারণ করলেই এটি তৈরি করতে পারেন।
import plotly.graph_objects as go
# পাই চার্টের ডেটা
labels = ['A', 'B', 'C', 'D']
values = [10, 20, 30, 40]
# পাই চার্ট তৈরি
fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
fig.show()
উপরের কোডটি একটি সাধারণ পাই চার্ট তৈরি করবে যেখানে চারটি সেগমেন্ট থাকবে, যার প্রতিটি সেগমেন্টের আকার তার পরিমাণের (values) অনুপাত অনুসারে হবে।
Donut Chart
Donut chart (ডোনাট চার্ট) একটি বিশেষ ধরনের পাই চার্ট যা কেন্দ্রে খালি একটি বৃত্ত রেখে তৈরি হয়। এটি মূলত পাই চার্টের একটি ভ্যারিয়েশন, যেখানে কেন্দ্রে একটি শূন্যস্থান থাকে। ডোনাট চার্টটি মাঝে মাঝে বেশি তথ্য প্রদর্শন করতে বা কেন্দ্রে কিছু গ্রাফিক্স বা টেক্সট দেখাতে ব্যবহৃত হয়।
Plotly তে Donut Chart তৈরি
Plotly তে ডোনাট চার্ট তৈরি করার জন্য, পাই চার্টের মতো একই পদ্ধতি ব্যবহার করা হয়, তবে আপনি hole প্যারামিটার ব্যবহার করে কেন্দ্রে শূন্যস্থান তৈরি করেন।
import plotly.graph_objects as go
# ডোনাট চার্টের ডেটা
labels = ['A', 'B', 'C', 'D']
values = [10, 20, 30, 40]
# ডোনাট চার্ট তৈরি
fig = go.Figure(data=[go.Pie(labels=labels, values=values, hole=0.3)])
fig.show()
এখানে hole=0.3 সেট করার মাধ্যমে পাই চার্টটির মাঝখানে ৩০% শূন্যস্থান তৈরি করা হয়েছে, যা ডোনাট চার্টের আকৃতি প্রদান করে।
Pie এবং Donut Chart এর ব্যবহার
১. তুলনামূলক ডেটা প্রদর্শন
Pie এবং Donut Chart সাধারণত ব্যবহার করা হয় বিভিন্ন শ্রেণীর মধ্যে অনুপাত বা ভাগফল প্রদর্শন করতে। যেমন, একটি ব্যবসায়িক রিপোর্টে বিভিন্ন বিভাগের বিক্রির পরিমাণ তুলনা করতে।
২. ব্যবসায়িক বিশ্লেষণ
এটি ব্যবসায়িক ডেটা বিশ্লেষণের জন্য খুবই কার্যকরী, যেখানে একটি প্রতিষ্ঠানের বিভিন্ন বিভাগ বা ক্যাটেগরির বিক্রি বা অন্যান্য পরিসংখ্যান দেখানো হয়।
৩. ডেটা ভিজুয়ালাইজেশন
Pie এবং Donut Chart ডেটা ভিজুয়ালাইজেশনে খুবই জনপ্রিয়, কারণ তারা দ্রুত এবং স্পষ্টভাবে বিভিন্ন শ্রেণীর মধ্যে পার্থক্য তুলে ধরতে সক্ষম। এগুলি খুবই উপকারী যখন আপনি ছোট ডেটা সেটের মধ্যে সম্পর্ক দেখাতে চান।
৪. ট্রেন্ড বা প্রগ্রেস দেখানো
ডোনাট চার্টে আপনি কেন্দ্রে কিছু টেক্সট বা তথ্য প্রদর্শন করতে পারেন, যা সাধারণত ট্রেন্ড বা প্রগ্রেস দেখাতে ব্যবহৃত হয়। যেমন, বিক্রির লক্ষ্য অর্জনের শতাংশ, বা কোনো প্রকল্পের অগ্রগতি।
সারাংশ
Plotly তে Pie এবং Donut Chart উভয়ই ডেটার অনুপাত বা ভাগফল প্রদর্শন করার জন্য ব্যবহৃত হয়, তবে ডোনাট চার্টে কেন্দ্রের শূন্যস্থান থাকায় এটি কিছুটা ভিন্ন ধরনের ভিজুয়ালাইজেশন প্রদান করে। Pie এবং Donut Chart ব্যবসায়িক, শিক্ষামূলক এবং বিশ্লেষণমূলক ডেটা ভিজুয়ালাইজেশনে ব্যাপকভাবে ব্যবহৃত হয় এবং তা খুবই সহজে তৈরি করা যায়।
Scatter Plot এবং Bubble Plot দুটি জনপ্রিয় ডেটা ভিজুয়ালাইজেশন টুল যা Plotly লাইব্রেরি দিয়ে খুব সহজেই তৈরি করা যায়। Scatter Plot ডেটা পয়েন্টগুলির সম্পর্ক প্রদর্শন করে, যেখানে Bubble Plot একটি Scatter Plot এর মতো, তবে এখানে পয়েন্টগুলির আকার ডেটার অতিরিক্ত মাত্রা প্রকাশ করে।
Scatter Plot
Scatter Plot হল একটি সাধারণ গ্রাফ যা দুটি ভেরিয়েবলের মধ্যে সম্পর্ক প্রদর্শন করে। এটি X এবং Y অক্ষের উপর পয়েন্ট চিত্রিত করে, যা একে অপরের সাথে সম্পর্কিত ডেটাকে ভিজ্যুয়ালাইজ করতে সাহায্য করে।
Python এ Scatter Plot উদাহরণ
import plotly.express as px
# উদাহরণ ডেটাসেট
data = px.data.gapminder()
# Scatter Plot তৈরি
fig = px.scatter(data, x="gdpPercap", y="lifeExp", color="continent", size="pop", log_x=True)
# গ্রাফ প্রদর্শন
fig.show()
এখানে, gdpPercap (একজনের মাথাপিছু আয়ে) এবং lifeExp (জীবন প্রত্যাশা) এর মধ্যে সম্পর্ক দেখানো হয়েছে, এবং গ্রাফের পয়েন্টগুলো বিভিন্ন মহাদেশের রঙ দ্বারা আলাদা করা হয়েছে। size="pop" দিয়ে গ্রাফের প্রতিটি পয়েন্টের আকার জনগণের সংখ্যা অনুযায়ী বড় বা ছোট করা হয়েছে।
Bubble Plot
Bubble Plot হল Scatter Plot এর একটি উন্নত সংস্করণ, যেখানে প্রতিটি ডেটা পয়েন্টের আকার ডেটার তৃতীয় একটি ভেরিয়েবলকে উপস্থাপন করে। এটি Scatter Plot এর মতো, তবে এখানে প্রতিটি পয়েন্টের আকার আরও তথ্য প্রদান করে।
Python এ Bubble Plot উদাহরণ
import plotly.express as px
# উদাহরণ ডেটাসেট
data = px.data.gapminder()
# Bubble Plot তৈরি
fig = px.scatter(data, x="gdpPercap", y="lifeExp", color="continent", size="pop",
hover_name="country", size_max=60, log_x=True)
# গ্রাফ প্রদর্শন
fig.show()
এখানে, Bubble Plot এর আকার জনগণের সংখ্যা (পপুলেশন) এর ওপর ভিত্তি করে নির্ধারিত হয়েছে, এবং hover_name="country" এর মাধ্যমে প্রতিটি বুদবুদে দেশ নাম দেখানো হচ্ছে যখন মাউস হোভার করা হয়।
Scatter এবং Bubble Plot এর মধ্যে পার্থক্য
- Scatter Plot: এটি সাধারণত দুইটি ভেরিয়েবলের মধ্যে সম্পর্ক প্রদর্শন করে এবং ডেটা পয়েন্টগুলি X এবং Y অক্ষের ওপর নির্ধারিত হয়।
- Bubble Plot: এটি Scatter Plot এর মতো হলেও এতে তৃতীয় একটি ভেরিয়েবলের তথ্য প্রদর্শন করতে পয়েন্টগুলির আকার ব্যবহার করা হয়।
এই দুটি গ্রাফের মাধ্যমে আপনি ডেটার মধ্যে সম্পর্ক এবং অতিরিক্ত তথ্য যেমন আকার বা ভলিউম দেখতে পারেন, যা ডেটা বিশ্লেষণে সাহায্য করে। Plotly এই ধরনের ভিজুয়ালাইজেশনগুলো সহজে এবং দ্রুত তৈরি করার সুবিধা দেয়।
Read more