Plotly তে 3D ডেটা পয়েন্টগুলো ভিজুয়ালাইজ করতে অত্যন্ত শক্তিশালী টুল রয়েছে। 3D প্লটগুলোর মাধ্যমে আপনি ডেটার তিনটি মাত্রাকে বিশ্লেষণ করতে পারেন এবং তা আরও কাস্টমাইজডভাবে উপস্থাপন করতে পারবেন। Plotly তে 3D ডেটা পয়েন্ট কাস্টমাইজ করতে বিভিন্ন টেকনিক ব্যবহৃত হতে পারে, যেমন পয়েন্টের আকার, রঙ, আভা, স্টাইল ইত্যাদি। চলুন দেখি 3D ডেটা পয়েন্ট কাস্টমাইজ করার কিছু টেকনিক।
১. 3D Scatter Plot তৈরি এবং কাস্টমাইজেশন
3D Scatter plot একটি 3D স্পেসে ডেটা পয়েন্ট প্রদর্শনের জন্য ব্যবহৃত হয়, যেখানে আপনি এক্স, ওয়াই, এবং জেড অক্ষের মাধ্যমে ডেটাকে প্রদর্শন করতে পারেন।
উদাহরণ:
import plotly.graph_objects as go
# 3D Scatter Plot এর জন্য ডেটা
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]
z = [20, 21, 22, 23, 24]
# 3D Scatter Plot তৈরি
fig = go.Figure(data=[go.Scatter3d(
x=x,
y=y,
z=z,
mode='markers',
marker=dict(
size=12, # পয়েন্টের আকার
color='rgb(255,0,0)', # পয়েন্টের রঙ
opacity=0.8 # পয়েন্টের স্বচ্ছতা
)
)])
fig.update_layout(title="3D Scatter Plot Example")
fig.show()
এখানে Scatter3d ব্যবহার করে একটি 3D স্ক্যাটার প্লট তৈরি করা হয়েছে, যেখানে পয়েন্টগুলোর আকার, রঙ, এবং স্বচ্ছতা কাস্টমাইজ করা হয়েছে।
২. 3D Surface Plot কাস্টমাইজেশন
3D Surface plot ডেটার ত্রিমাত্রিক পৃষ্ঠ বা অঞ্চল প্রদর্শনের জন্য ব্যবহৃত হয়। এটি সাধারণত সাপ্লেইন পৃষ্ঠ বা কনট্যুর প্লট তৈরি করতে ব্যবহার করা হয়।
উদাহরণ:
import plotly.graph_objects as go
import numpy as np
# 3D Surface Plot এর জন্য ডেটা
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))
# 3D Surface Plot তৈরি
fig = go.Figure(data=[go.Surface(
z=z,
x=x,
y=y,
colorscale='Viridis' # পৃষ্ঠের রঙের স্কেল
)])
fig.update_layout(title="3D Surface Plot Example")
fig.show()
এখানে go.Surface ব্যবহার করে একটি 3D সারফেস প্লট তৈরি করা হয়েছে। আপনি colorscale ব্যবহার করে সারফেসের রঙ কাস্টমাইজ করতে পারেন এবং এটি আরো সুন্দর ও কার্যকরী করতে পারেন।
৩. 3D Data Points এর Marker Customization
3D ডেটা পয়েন্টগুলোর মার্কার কাস্টমাইজ করা একটি গুরুত্বপূর্ণ টেকনিক, যেখানে আপনি পয়েন্টগুলোর আকার, রঙ, স্টাইল ইত্যাদি পরিবর্তন করতে পারেন।
উদাহরণ:
import plotly.graph_objects as go
# 3D Data Points এর জন্য ডেটা
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]
z = [20, 21, 22, 23, 24]
# 3D Scatter Plot তৈরি এবং মার্কার কাস্টমাইজেশন
fig = go.Figure(data=[go.Scatter3d(
x=x,
y=y,
z=z,
mode='markers',
marker=dict(
size=15, # আকার
color=z, # রঙ পরিবর্তন করা হয়েছে জেড ভ্যালু অনুসারে
colorscale='Rainbow', # রঙের স্কেল
opacity=0.7 # স্বচ্ছতা
)
)])
fig.update_layout(title="Customized 3D Data Points")
fig.show()
এখানে color=z ব্যবহার করা হয়েছে, যাতে ডেটা পয়েন্টের রঙ তার জেড ভ্যালুর উপর ভিত্তি করে পরিবর্তিত হয়। রঙের স্কেল হিসেবে Rainbow ব্যবহার করা হয়েছে যা ডেটা পয়েন্টগুলোকে আরও দৃশ্যমান এবং প্রাসঙ্গিক করে তোলে।
৪. 3D Data Points এর Line Style Customization
আপনি 3D ডেটা পয়েন্টগুলোকে লাইন দিয়ে সংযুক্ত করতে পারেন এবং সেই লাইনের স্টাইল কাস্টমাইজ করতে পারেন। এর মাধ্যমে আপনি ডেটা পয়েন্টগুলোর মধ্যে সম্পর্ক আরও ভালোভাবে উপস্থাপন করতে পারেন।
উদাহরণ:
import plotly.graph_objects as go
# 3D Data Points এর জন্য ডেটা
x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]
z = [20, 21, 22, 23, 24]
# 3D লাইন প্লট তৈরি
fig = go.Figure(data=[go.Scatter3d(
x=x,
y=y,
z=z,
mode='lines+markers',
line=dict(
color='blue', # লাইন রঙ
width=4 # লাইন প্রস্থ
),
marker=dict(
size=8, # পয়েন্টের আকার
color='red' # পয়েন্টের রঙ
)
)])
fig.update_layout(title="3D Line Plot with Data Points")
fig.show()
এখানে mode='lines+markers' ব্যবহার করে আমরা ডেটা পয়েন্টগুলোর সাথে একটি লাইন যুক্ত করেছি এবং line প্যারামিটার দিয়ে লাইনের রঙ এবং প্রস্থ কাস্টমাইজ করা হয়েছে।
৫. 3D Data Points এর Animation
Plotly তে আপনি 3D ডেটা পয়েন্টগুলোর জন্য অ্যানিমেশনও তৈরি করতে পারেন, যা ডেটার পরিবর্তন বা গতিশীলতা প্রদর্শন করতে সহায়তা করে।
উদাহরণ:
import plotly.graph_objects as go
import numpy as np
# 3D Data Points এর জন্য ডেটা
frames = [go.Frame(
data=[go.Scatter3d(
x=[np.cos(np.pi * i) for i in range(100)],
y=[np.sin(np.pi * i) for i in range(100)],
z=[i for i in range(100)],
mode='markers',
marker=dict(size=5, color='blue')
)],
name=f"Frame {i}"
) for i in range(1, 20)]
# গ্রাফ তৈরি
fig = go.Figure(
data=[go.Scatter3d(
x=[0], y=[0], z=[0], mode='markers', marker=dict(size=5)
)],
frames=frames
)
fig.update_layout(
updatemenus=[dict(
type='buttons', showactive=False, buttons=[dict(label='Play', method='animate', args=[None, dict(frame=dict(duration=500, redraw=True), fromcurrent=True)])]
)]
)
fig.show()
এখানে frames এবং animate প্যারামিটার ব্যবহার করে 3D পয়েন্টগুলোর জন্য একটি অ্যানিমেশন তৈরি করা হয়েছে, যা ধীরে ধীরে এক্স, ওয়াই, এবং জেড ভ্যালুর পরিবর্তন প্রদর্শন করবে।
সারাংশ
Plotly তে 3D ডেটা পয়েন্ট কাস্টমাইজেশন বিভিন্নভাবে করা যায়, যেমন পয়েন্টের আকার, রঙ, লাইন স্টাইল, অ্যানিমেশন, এবং অন্যান্য ভিজুয়াল উপাদান কাস্টমাইজ করা। Scatter3d, Surface, এবং অন্যান্য 3D প্লট তৈরির মাধ্যমে আপনি ডেটার ত্রিমাত্রিক উপস্থাপন করতে পারেন এবং তা আরও ইন্টারেক্টিভ এবং অর্থপূর্ণ করে তুলতে পারেন।
Read more