Plotly-তে Multiple Plots এবং Subplots তৈরি করা খুবই সহজ, এবং এগুলি একক চার্টের মধ্যে একাধিক গ্রাফ বা প্লট দেখানোর একটি কার্যকরী উপায়। এটি ব্যবহারকারীদের একই পৃষ্ঠায় বিভিন্ন ধরণের ভিজুয়ালাইজেশন একসঙ্গে দেখতে সাহায্য করে, যা ডেটা বিশ্লেষণের ক্ষেত্রে অত্যন্ত সুবিধাজনক। এখানে আমরা Multiple Plots এবং Subplots কিভাবে তৈরি করা যায় তা আলোচনা করবো।
Multiple Plots তৈরি করা
Plotly-তে একাধিক প্লট তৈরি করার জন্য একাধিক go.Figure অবজেক্ট ব্যবহার করা হয় এবং প্রতিটি প্লট আলাদা করে show() ফাংশন কল করা হয়। তবে, একাধিক প্লট একই পৃষ্ঠায় প্রদর্শন করতে চাইলে Subplots ব্যবহার করা হয়।
Multiple Plots উদাহরণ
import plotly.graph_objects as go
# প্রথম প্লট (Scatter Plot)
fig1 = go.Figure(data=go.Scatter(x=[1, 2, 3], y=[10, 11, 12], mode='lines', name='Plot 1'))
# দ্বিতীয় প্লট (Bar Plot)
fig2 = go.Figure(data=go.Bar(x=['A', 'B', 'C'], y=[10, 20, 30], name='Plot 2'))
# প্রথম প্লট প্রদর্শন
fig1.show()
# দ্বিতীয় প্লট প্রদর্শন
fig2.show()
এখানে, প্রথম প্লটটি Scatter Plot এবং দ্বিতীয় প্লটটি Bar Plot। প্রতিটি প্লট আলাদা ফিগারে প্রদর্শিত হবে।
Subplots তৈরি করা
Subplots ব্যবহার করে একাধিক প্লট একসাথে প্রদর্শন করা যায় একই গ্রাফের মধ্যে। Plotly-তে Subplots তৈরি করতে plotly.subplots মডিউল ব্যবহার করা হয়। এর মাধ্যমে একাধিক চার্টকে একটি কনটেইনারে (subplots) রাখা যায়।
Subplots উদাহরণ
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplot তৈরি করা
fig = make_subplots(rows=1, cols=2)
# প্রথম প্লটে Scatter Plot যোগ করা
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 11, 12], mode='lines', name='Scatter Plot'), row=1, col=1)
# দ্বিতীয় প্লটে Bar Plot যোগ করা
fig.add_trace(go.Bar(x=['A', 'B', 'C'], y=[10, 20, 30], name='Bar Plot'), row=1, col=2)
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
make_subplots(rows=1, cols=2)দিয়ে একটি ১-রো এবং ২-কলামের সাবপ্লট তৈরি করা হয়েছে।add_trace()ফাংশন ব্যবহার করে প্রথম প্লটে Scatter Plot এবং দ্বিতীয় প্লটে Bar Plot যোগ করা হয়েছে।row=1, col=1এবংrow=1, col=2দিয়ে প্লটগুলো নির্দিষ্ট সাবপ্লটে রাখা হয়েছে।
Subplots কাস্টমাইজ করা
Plotly তে সাবপ্লটের সাইজ, এক্স এবং ওয়াই অ্যাক্সিসের লেবেল, টাইটেল, এবং আরও অনেক কিছু কাস্টমাইজ করা যায়।
Subplot কাস্টমাইজ করা উদাহরণ
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplot তৈরি করা
fig = make_subplots(rows=1, cols=2, subplot_titles=('Scatter Plot', 'Bar Plot'))
# প্রথম প্লটে Scatter Plot যোগ করা
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 11, 12], mode='lines', name='Scatter Plot'), row=1, col=1)
# দ্বিতীয় প্লটে Bar Plot যোগ করা
fig.add_trace(go.Bar(x=['A', 'B', 'C'], y=[10, 20, 30], name='Bar Plot'), row=1, col=2)
# অ্যাক্সিস লেবেল কাস্টমাইজ করা
fig.update_layout(
xaxis_title='X Axis (Scatter)',
yaxis_title='Y Axis (Scatter)',
xaxis2_title='X Axis (Bar)',
yaxis2_title='Y Axis (Bar)',
title_text="Multiple Plots with Subplots"
)
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
subplot_titlesদিয়ে সাবপ্লটের জন্য টাইটেল যোগ করা হয়েছে।update_layout()ফাংশন ব্যবহার করে এক্স এবং ওয়াই অ্যাক্সিসের টাইটেল এবং পুরো গ্রাফের টাইটেল কাস্টমাইজ করা হয়েছে।
Multiple Rows এবং Columns সহ Subplots
আপনি একাধিক সারি (rows) এবং কলাম (columns) সহ সাবপ্লট তৈরি করতে পারেন, যেমন ২x২ গ্রিড বা ৩x১ গ্রিড।
Multiple Rows এবং Columns সহ Subplot উদাহরণ
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# ২x২ সাবপ্লট গ্রিড তৈরি করা
fig = make_subplots(rows=2, cols=2, subplot_titles=('Plot 1', 'Plot 2', 'Plot 3', 'Plot 4'))
# প্রথম প্লটে Scatter Plot যোগ করা
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 11, 12], mode='lines', name='Scatter Plot 1'), row=1, col=1)
# দ্বিতীয় প্লটে Bar Plot যোগ করা
fig.add_trace(go.Bar(x=['A', 'B', 'C'], y=[10, 20, 30], name='Bar Plot'), row=1, col=2)
# তৃতীয় প্লটে Scatter Plot যোগ করা
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[30, 31, 32], mode='markers', name='Scatter Plot 2'), row=2, col=1)
# চতুর্থ প্লটে Bar Plot যোগ করা
fig.add_trace(go.Bar(x=['X', 'Y', 'Z'], y=[15, 25, 35], name='Bar Plot 2'), row=2, col=2)
# গ্রাফ প্রদর্শন
fig.show()
এখানে:
rows=2, cols=2দিয়ে একটি ২x২ সাবপ্লট গ্রিড তৈরি করা হয়েছে।- চারটি আলাদা প্লট (Scatter এবং Bar) বিভিন্ন সাবপ্লটে প্রদর্শিত হচ্ছে।
সারাংশ
Plotly-তে Multiple Plots এবং Subplots তৈরি করা খুবই সহজ এবং কার্যকরী। আপনি একাধিক গ্রাফ একসাথে প্রদর্শন করতে make_subplots ব্যবহার করতে পারেন এবং এগুলোর মধ্যে বিভিন্ন ধরনের প্লট যেমন Scatter, Bar, Line ইত্যাদি একসঙ্গে সংযুক্ত করতে পারেন। Subplots কাস্টমাইজেশন যেমন এক্স/ওয়াই অ্যাক্সিসের লেবেল, সাবপ্লটের টাইটেল এবং পুরো গ্রাফের টাইটেল কাস্টমাইজ করা যায়, যা ডেটা ভিজুয়ালাইজেশনকে আরও কার্যকর এবং আকর্ষণীয় করে তোলে।
Plotly দিয়ে একাধিক গ্রাফ একসঙ্গে দেখানোর জন্য Subplots তৈরি করা যায়। Subplots একটি সুবিধাজনক পদ্ধতি যেখানে আপনি একাধিক চার্ট বা গ্রাফকে একই ক্যানভাসে (canvas) উপস্থাপন করতে পারেন। এটি ডেটা তুলনা এবং ভিজুয়ালাইজেশনের জন্য উপকারী, বিশেষ করে যখন আপনি একাধিক ভিন্ন ভিন্ন ডেটাসেট বা গ্রাফের মধ্যে সম্পর্ক প্রদর্শন করতে চান।
Subplots তৈরি করা
Plotly তে Subplots তৈরি করতে plotly.subplots মডিউল ব্যবহার করা হয়। make_subplots() ফাংশন ব্যবহার করে একাধিক গ্রাফ একসাথে একটি ক্যানভাসে উপস্থাপন করা যায়।
উদাহরণ:
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি করা (2x2 grid)
fig = make_subplots(rows=2, cols=2)
# প্রথম গ্রাফ
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 11, 12]), row=1, col=1)
# দ্বিতীয় গ্রাফ
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 20, 30]), row=1, col=2)
# তৃতীয় গ্রাফ
fig.add_trace(go.Histogram(x=[1, 1, 2, 3, 3, 3, 4]), row=2, col=1)
# চতুর্থ গ্রাফ
fig.add_trace(go.Box(y=[10, 12, 13, 19, 15, 18, 17]), row=2, col=2)
# গ্রাফ প্রদর্শন
fig.show()
এখানে make_subplots(rows=2, cols=2) দিয়ে ২x২ আকারের সাবপ্লট তৈরি করা হয়েছে। পরে add_trace() ফাংশন ব্যবহার করে প্রতিটি সাবপ্লটে বিভিন্ন ধরনের গ্রাফ যোগ করা হয়েছে।
Subplot কাস্টমাইজেশন
Plotly তে Subplot কাস্টমাইজ করা যায় বিভিন্নভাবে, যেমন গ্রাফের শিরোনাম, অক্ষের লেবেল, রং, এবং গ্রিডলাইন ইত্যাদি কাস্টমাইজ করা যায়।
১. গ্রাফের শিরোনাম (Title) এবং অক্ষের লেবেল
fig.update_layout(
title='Subplots Example',
xaxis_title='এক্স অক্ষ',
yaxis_title='ওয়াই অক্ষ'
)
এখানে title, xaxis_title, এবং yaxis_title প্যারামিটার দিয়ে সাবপ্লটের শিরোনাম এবং অক্ষের লেবেল যোগ করা হয়েছে। এটি পুরো ফিগারের জন্য প্রযোজ্য, তবে সাবপ্লটগুলোর জন্য আলাদাভাবে শিরোনাম এবং লেবেলও যোগ করা যেতে পারে।
২. সাবপ্লটের জন্য পৃথক অক্ষের শিরোনাম
fig.update_xaxes(title_text='এক্স অক্ষ ১', row=1, col=1)
fig.update_yaxes(title_text='ওয়াই অক্ষ ১', row=1, col=1)
এখানে update_xaxes() এবং update_yaxes() ব্যবহার করে সাবপ্লটের নির্দিষ্ট অক্ষের শিরোনাম নির্ধারণ করা হয়েছে।
৩. সাবপ্লটের মধ্যে গ্যাপ এবং মার্জিন কাস্টমাইজেশন
fig.update_layout(
margin=dict(t=50, b=50, l=50, r=50), # মার্জিন কাস্টমাইজেশন
height=800, # সাইজ নির্ধারণ
width=800
)
এখানে margin প্যারামিটার দিয়ে সাবপ্লটগুলোর মধ্যে দূরত্ব এবং মার্জিন কাস্টমাইজ করা হয়েছে।
৪. সাবপ্লটের লেজেন্ড কাস্টমাইজেশন
fig.update_layout(
legend=dict(
title='লেজেন্ড শিরোনাম',
x=0.8, # লেজেন্ডের অবস্থান (x: 0 থেকে 1)
y=0.9 # লেজেন্ডের অবস্থান (y: 0 থেকে 1)
)
)
এখানে legend প্যারামিটার দিয়ে লেজেন্ডের শিরোনাম এবং অবস্থান কাস্টমাইজ করা হয়েছে।
সম্পূর্ণ কোড উদাহরণ
এখানে একটি সম্পূর্ণ Subplot কাস্টমাইজেশন উদাহরণ দেওয়া হলো:
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি (2x2 grid)
fig = make_subplots(rows=2, cols=2)
# প্রথম গ্রাফ
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 11, 12]), row=1, col=1)
# দ্বিতীয় গ্রাফ
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 20, 30]), row=1, col=2)
# তৃতীয় গ্রাফ
fig.add_trace(go.Histogram(x=[1, 1, 2, 3, 3, 3, 4]), row=2, col=1)
# চতুর্থ গ্রাফ
fig.add_trace(go.Box(y=[10, 12, 13, 19, 15, 18, 17]), row=2, col=2)
# কাস্টমাইজেশন
fig.update_layout(
title='Subplots Example',
xaxis_title='এক্স অক্ষ',
yaxis_title='ওয়াই অক্ষ',
margin=dict(t=50, b=50, l=50, r=50),
height=800,
width=800
)
# সাবপ্লটের জন্য অক্ষের শিরোনাম
fig.update_xaxes(title_text='এক্স অক্ষ ১', row=1, col=1)
fig.update_yaxes(title_text='ওয়াই অক্ষ ১', row=1, col=1)
# লেজেন্ড কাস্টমাইজেশন
fig.update_layout(
legend=dict(
title='লেজেন্ড শিরোনাম',
x=0.8,
y=0.9
)
)
# গ্রাফ প্রদর্শন
fig.show()
সারাংশ
Plotly দিয়ে Subplots তৈরি এবং কাস্টমাইজ করা খুবই সহজ এবং শক্তিশালী। make_subplots() ফাংশন দিয়ে একাধিক গ্রাফ তৈরি করা যায় এবং add_trace() ফাংশন ব্যবহার করে বিভিন্ন ধরনের চার্ট একত্রিত করা যায়। Subplot কাস্টমাইজেশন এর মাধ্যমে আপনি একাধিক গ্রাফের মধ্যে তুলনা, কাস্টম লেবেল, শিরোনাম, গ্রিডলাইন, এবং অন্যান্য ফিচার যুক্ত করতে পারেন। এটি ডেটা ভিজুয়ালাইজেশনে অনেক সুবিধা প্রদান করে, বিশেষ করে যখন একাধিক গ্রাফ একসাথে প্রদর্শন করতে হয়।
Plotly-তে একাধিক গ্রাফ বা চিত্র একই figure-এ একত্রিত করা খুবই সহজ। আপনি একাধিক চিত্রের জন্য subplots তৈরি করতে পারেন এবং বিভিন্ন ধরনের চার্ট (যেমন: Bar Chart, Line Chart, Scatter Plot ইত্যাদি) একই figure-এ একত্রিত করতে পারেন। Plotly-তে subplot ফিচার ব্যবহার করে একাধিক গ্রাফ একটি একক ফিগারে প্রদর্শন করা যায়।
Subplots তৈরি করা
Plotly তে make_subplots() ফাংশন ব্যবহার করে একাধিক গ্রাফকে একই figure-এ সাজানো যায়। এখানে আপনি rows এবং cols প্যারামিটার ব্যবহার করে গ্রাফের সারি এবং কলামের সংখ্যা নির্ধারণ করতে পারেন।
উদাহরণ ১: একাধিক গ্রাফ (Bar এবং Line Chart) একই Figure এ
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি করা (1 সারি, 2 কলাম)
fig = make_subplots(rows=1, cols=2)
# প্রথম গ্রাফ (Bar Chart)
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 11, 12]), row=1, col=1)
# দ্বিতীয় গ্রাফ (Line Chart)
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[10, 12, 14], mode='lines'), row=1, col=2)
# গ্রাফ প্রদর্শন
fig.show()
ব্যাখ্যা:
- এখানে,
make_subplots(rows=1, cols=2)ব্যবহার করে ১টি সারি এবং ২টি কলাম সহ একটি subplot তৈরি করা হয়েছে। - প্রথম গ্রাফটি একটি Bar Chart, এবং দ্বিতীয় গ্রাফটি একটি Line Chart।
add_trace()ব্যবহার করে প্রতিটি গ্রাফ subplot-এ যোগ করা হয়েছে।
উদাহরণ ২: ২টি গ্রাফ (Scatter Plot এবং Histogram) একাধিক সারি ও কলামে
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি করা (2 সারি, 1 কলাম)
fig = make_subplots(rows=2, cols=1)
# প্রথম গ্রাফ (Scatter Plot)
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13], mode='markers'), row=1, col=1)
# দ্বিতীয় গ্রাফ (Histogram)
fig.add_trace(go.Histogram(x=[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]), row=2, col=1)
# গ্রাফ প্রদর্শন
fig.show()
ব্যাখ্যা:
- এখানে,
make_subplots(rows=2, cols=1)ব্যবহার করে ২টি সারি এবং ১টি কলাম সহ subplot তৈরি করা হয়েছে। - প্রথম গ্রাফটি একটি Scatter Plot, এবং দ্বিতীয় গ্রাফটি একটি Histogram।
উদাহরণ ৩: একাধিক গ্রাফ (Pie Chart, Bar Chart, Line Chart) এক Figure-এ
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি করা (1 সারি, 3 কলাম)
fig = make_subplots(rows=1, cols=3)
# প্রথম গ্রাফ (Pie Chart)
fig.add_trace(go.Pie(labels=["A", "B", "C"], values=[10, 20, 30]), row=1, col=1)
# দ্বিতীয় গ্রাফ (Bar Chart)
fig.add_trace(go.Bar(x=["X", "Y", "Z"], y=[15, 25, 35]), row=1, col=2)
# তৃতীয় গ্রাফ (Line Chart)
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[20, 22, 24, 26], mode="lines"), row=1, col=3)
# গ্রাফ প্রদর্শন
fig.show()
ব্যাখ্যা:
- এখানে, ১টি সারি এবং ৩টি কলাম সহ একটি subplot তৈরি করা হয়েছে, যেখানে একটি Pie Chart, একটি Bar Chart, এবং একটি Line Chart একসাথে প্রদর্শিত হচ্ছে।
Subplots কাস্টমাইজেশন
আপনি subplot গুলোর মধ্যে title, axis labels, gridlines, এবং layout কাস্টমাইজ করতে পারেন।
উদাহরণ: Subplot Titles এবং Axis Labels কাস্টমাইজ করা
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Subplots তৈরি করা (1 সারি, 2 কলাম)
fig = make_subplots(rows=1, cols=2, subplot_titles=["Bar Chart", "Line Chart"])
# প্রথম গ্রাফ (Bar Chart)
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 20, 30]), row=1, col=1)
# দ্বিতীয় গ্রাফ (Line Chart)
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[15, 25, 35], mode='lines'), row=1, col=2)
# layout কাস্টমাইজ করা
fig.update_layout(
title="Multiple Charts in One Figure",
xaxis_title="X Axis",
yaxis_title="Y Axis"
)
# গ্রাফ প্রদর্শন
fig.show()
ব্যাখ্যা:
subplot_titlesব্যবহার করে প্রতিটি subplot-এর জন্য টাইটেল নির্ধারণ করা হয়েছে।update_layout()ব্যবহার করে পুরো figure-এ একটি প্রধান টাইটেল এবং x-axis এবং y-axis এর টাইটেল কাস্টমাইজ করা হয়েছে।
সারাংশ
Plotly তে Multiple Charts একাধিক গ্রাফ একই figure-এ প্রদর্শন করতে make_subplots() ফাংশন ব্যবহার করা হয়। আপনি সহজেই একাধিক চার্ট যেমন Bar, Line, Pie, Scatter, Histogram ইত্যাদি একক ফিগারে উপস্থাপন করতে পারেন। এটি ডেটার বিভিন্ন দিক বা বিশ্লেষণ একসাথে প্রদর্শন করার জন্য উপকারী, এবং কাস্টমাইজেশনের মাধ্যমে আপনি গ্রাফের লেআউট, শিরোনাম এবং অন্যান্য বৈশিষ্ট্য সম্পূর্ণ নিয়ন্ত্রণ করতে পারেন।
Plotly তে আপনি গ্রাফগুলির মধ্যে একাধিক এক্স (X) এবং ওয়াই (Y) অ্যাক্সিস ব্যবহার করতে পারেন। এই অ্যাক্সিসগুলিকে দুটি প্রধানভাবে ব্যবহার করা যায়: Shared Axes এবং Independent Axes। এগুলি মূলত একাধিক গ্রাফ বা সাবপ্লট তৈরি করার সময় ব্যবহৃত হয়।
Shared Axes (শেয়ার্ড অ্যাক্সিস)
Shared Axes ব্যবহৃত হয় যখন একাধিক গ্রাফের এক্স বা ওয়াই অ্যাক্সিস শেয়ার করা হয়। এর মাধ্যমে একই পরিসরের উপর একাধিক গ্রাফ প্লট করা যায়, যা তুলনা করার জন্য সুবিধাজনক। বিশেষত, যখন আপনি বিভিন্ন ডেটাসেটের মধ্যে সম্পর্ক দেখতে চান, তখন Shared Axes ব্যবহার করা হয়।
উদাহরণ: Shared X-Axis
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# ২টি সাবপ্লট তৈরি
fig = make_subplots(rows=1, cols=2, shared_xaxes=True)
# প্রথম সাবপ্লট
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13]), row=1, col=1)
# দ্বিতীয় সাবপ্লট
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[20, 21, 22, 23]), row=1, col=2)
fig.update_layout(title_text="Shared X-Axis Example")
fig.show()
এখানে, shared_xaxes=True ব্যবহার করে আমরা দুটি গ্রাফের এক্স অ্যাক্সিস শেয়ার করেছি, যার ফলে তারা একে অপরের সাথে তুলনা করার জন্য একই স্কেল ব্যবহার করবে।
Independent Axes (স্বতন্ত্র অ্যাক্সিস)
Independent Axes ব্যবহৃত হয় যখন প্রতিটি গ্রাফের এক্স এবং ওয়াই অ্যাক্সিস আলাদা থাকে। এর মানে হল যে প্রতিটি সাবপ্লটের জন্য অ্যাক্সিসের স্কেল এবং পরিসীমা পৃথক থাকে, যা বিশেষভাবে তখন ব্যবহার করা হয় যখন বিভিন্ন ডেটাসেটের স্কেল বা পরিসীমা আলাদা হয়ে থাকে।
উদাহরণ: Independent X-Axis
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# ২টি সাবপ্লট তৈরি
fig = make_subplots(rows=1, cols=2, shared_xaxes=False)
# প্রথম সাবপ্লট
fig.add_trace(go.Scatter(x=[1, 2, 3, 4], y=[10, 11, 12, 13]), row=1, col=1)
# দ্বিতীয় সাবপ্লট
fig.add_trace(go.Scatter(x=[2, 4, 6, 8], y=[20, 21, 22, 23]), row=1, col=2)
fig.update_layout(title_text="Independent X-Axis Example")
fig.show()
এখানে, shared_xaxes=False ব্যবহার করার ফলে দুটি গ্রাফের এক্স অ্যাক্সিস আলাদা হয়ে গেছে, এবং প্রতিটি গ্রাফের জন্য এক্স অ্যাক্সিসের পরিসীমা আলাদা।
Shared Axes এবং Independent Axes এর মধ্যে পার্থক্য
- Shared Axes: যখন একাধিক গ্রাফ একই এক্স বা ওয়াই অ্যাক্সিস শেয়ার করে, তখন তারা একই স্কেল ব্যবহার করবে। এটি তুলনা করা সহজ করে তোলে, বিশেষত একে অপরের সাথে সম্পর্ক বিশ্লেষণ করার সময়।
- Independent Axes: প্রতিটি গ্রাফের নিজস্ব এক্স এবং ওয়াই অ্যাক্সিস থাকে, এবং প্রতিটি গ্রাফের স্কেল বা পরিসীমা আলাদা হয়। এটি যখন ডেটা সেটের পরিসীমা ভিন্ন থাকে, তখন ব্যবহার করা হয়।
সারাংশ
Plotly তে Shared Axes এবং Independent Axes ব্যবহার করে আপনি একাধিক গ্রাফের অ্যাক্সিস কাস্টমাইজ করতে পারেন। Shared Axes গ্রাফগুলির মধ্যে তুলনা সহজ করে, যেখানে Independent Axes ডেটার পৃথক পরিসীমা বা স্কেল প্রদর্শন করে। এগুলি বিশেষভাবে তখন উপকারী যখন আপনাকে একাধিক ডেটাসেটের মধ্যে সম্পর্ক বা আলাদা আলাদা ডেটা প্রদর্শন করতে হয়।
Plotly তে Multiple Subplots তৈরি করার জন্য faceting techniques ব্যবহার করা হয়। Faceting একটি কৌশল যা ডেটার ভিন্ন ভিন্ন ক্যাটেগরি বা গ্রুপগুলির জন্য আলাদা আলাদা প্লট তৈরি করতে সাহায্য করে। এটি বিভিন্ন ভেরিয়েবল বা ক্যাটেগরি অনুযায়ী ডেটাকে পৃথকভাবে উপস্থাপন করার একটি কার্যকরী পদ্ধতি। Plotly তে Faceting techniques ব্যবহৃত হয় facet_row, facet_col, এবং facet এর মাধ্যমে।
১. Facet Grid (Row-wise এবং Column-wise)
Plotly তে facet_row এবং facet_col ব্যবহার করে গ্রিড আকারে বিভিন্ন সাবপ্লট তৈরি করা যায়। আপনি facet_row এর মাধ্যমে সাবপ্লটগুলোকে এক্স-অ্যাক্সিসের উপর এবং facet_col এর মাধ্যমে ওয়াই-অ্যাক্সিসের উপর সাজাতে পারেন।
উদাহরণ: Faceting Row-wise এবং Column-wise
import plotly.express as px
import plotly.graph_objects as go
# উদাহরণ ডেটাসেট
df = px.data.tips()
# Row-wise Faceting
fig_row = px.scatter(df, x="total_bill", y="tip", color="sex", facet_row="time", title="Facet by Row")
fig_row.show()
# Column-wise Faceting
fig_col = px.scatter(df, x="total_bill", y="tip", color="sex", facet_col="time", title="Facet by Column")
fig_col.show()
এখানে, facet_row="time" ব্যবহার করে ডেটা গ্রুপ করা হয়েছে "time" (Lunch, Dinner) এর উপর ভিত্তি করে, এবং facet_col="time" দিয়ে একই কাজ কলাম ভিত্তিতে করা হয়েছে।
২. Multiple Subplots with make_subplots
make_subplots ফাংশন Plotly তে একাধিক সাবপ্লট তৈরি করার জন্য ব্যবহৃত হয়। এটি আপনাকে প্লটগুলিকে একটি কাস্টম আর্কিটেকচারে সাজাতে সাহায্য করে, যেমন একাধিক রো এবং কলাম।
উদাহরণ: make_subplots দিয়ে Multiple Subplots তৈরি করা
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# সাবপ্লট তৈরি
fig = make_subplots(rows=1, cols=2, subplot_titles=("Plot 1", "Plot 2"))
# প্রথম প্লট
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[4, 5, 6], mode='lines', name='Line Plot 1'), row=1, col=1)
# দ্বিতীয় প্লট
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 11, 12], name='Bar Plot 2'), row=1, col=2)
# গ্রাফ কাস্টমাইজেশন
fig.update_layout(title_text="Multiple Subplots Example", showlegend=False)
# গ্রাফ প্রদর্শন
fig.show()
এখানে, make_subplots এর মাধ্যমে দুইটি প্লট তৈরি করা হয়েছে — একটি লাইনের প্লট এবং একটি বার চার্ট, যেগুলো একই রোতে সাজানো হয়েছে।
৩. Facet Grid with plotly.express
Plotly Express এর মাধ্যমে Facet Grid খুব সহজে তৈরি করা যায়, যেখানে আপনি ডেটাকে বিভিন্ন ক্যাটেগরির ভিত্তিতে ভেঙে বিভিন্ন সাবপ্লট তৈরি করতে পারেন। facet_row এবং facet_col ব্যবহার করে আপনি একটি গ্রিডের মধ্যে সাবপ্লটগুলো উপস্থাপন করতে পারেন।
উদাহরণ: Facet Grid তৈরির জন্য Plotly Express
import plotly.express as px
# উদাহরণ ডেটাসেট
df = px.data.gapminder()
# Facet Grid তৈরির উদাহরণ
fig = px.scatter(df, x="gdpPercap", y="lifeExp", color="continent", facet_col="continent", title="Facet Grid by Continent")
# গ্রাফ প্রদর্শন
fig.show()
এখানে, facet_col="continent" দ্বারা প্রতি মহাদেশের জন্য আলাদা আলাদা গ্রাফ তৈরি করা হয়েছে।
৪. Faceting with plotly.graph_objects
plotly.graph_objects ব্যবহার করেও সাবপ্লট তৈরি করা সম্ভব। এখানে, সাবপ্লটগুলোকে একত্রিত করতে go.Figure এবং go.Scatter ব্যবহার করা হয় এবং একই সাথে গ্রিড সিস্টেমে তাদের আছড়ে দেওয়া হয়।
উদাহরণ: Faceting with plotly.graph_objects
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# সাবপ্লট তৈরি
fig = make_subplots(rows=2, cols=2, subplot_titles=("Plot 1", "Plot 2", "Plot 3", "Plot 4"))
# ১ম প্লট
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[3, 1, 6], mode='lines', name='Plot 1'), row=1, col=1)
# ২য় প্লট
fig.add_trace(go.Bar(x=[1, 2, 3], y=[4, 5, 6], name='Plot 2'), row=1, col=2)
# ৩য় প্লট
fig.add_trace(go.Scatter(x=[1, 2, 3], y=[7, 8, 9], mode='lines', name='Plot 3'), row=2, col=1)
# ৪র্থ প্লট
fig.add_trace(go.Bar(x=[1, 2, 3], y=[10, 11, 12], name='Plot 4'), row=2, col=2)
# গ্রাফ কাস্টমাইজেশন
fig.update_layout(title_text="Multiple Subplots with Graph Objects", showlegend=False)
# গ্রাফ প্রদর্শন
fig.show()
এখানে ৪টি সাবপ্লট তৈরি করা হয়েছে, যেগুলো দুটি রো এবং দুটি কলামে ভাগ করা হয়েছে।
সারাংশ
Plotly তে Multiple Subplots তৈরি করার জন্য Faceting techniques একটি শক্তিশালী উপায়। facet_row, facet_col, এবং make_subplots এর মাধ্যমে আপনি সহজেই ডেটা ভিজুয়ালাইজেশনকে একাধিক সাবপ্লটে ভাগ করতে পারেন। plotly.express ব্যবহার করে ফ্যাসেটিং অত্যন্ত সহজ, যেখানে আপনি ডেটা ক্যাটেগরি অনুযায়ী বিভিন্ন সাবপ্লট তৈরি করতে পারেন, এবং plotly.graph_objects এর মাধ্যমে আপনি আরও কাস্টমাইজড এবং জটিল সাবপ্লট তৈরি করতে পারেন।
Read more