Plotly এর মাধ্যমে Geo Plots তৈরি করা

Geospatial Visualization - প্লটলি (Plotly) - Big Data and Analytics

285

Geo Plots বা Geospatial Plots এমন গ্রাফ যা ভৌগোলিক ডেটাকে দৃশ্যমান করতে সাহায্য করে, যেমন বিভিন্ন দেশ, শহর, অথবা অঞ্চল সম্পর্কিত ডেটা। Plotly তে Geo Plots তৈরি করার জন্য plotly.express বা plotly.graph_objects লাইব্রেরি ব্যবহার করা যেতে পারে। এটি ডেটাকে ভৌগোলিক মানচিত্রে বা গ্লোবাল ম্যাপের উপর প্লট করার সুবিধা দেয়। Geo Plots সাধারণত শেপফাইল বা GeoJSON ডেটা ব্যবহার করে কাজ করে, কিন্তু Plotly তে বিভিন্ন ধরনের বিল্ট-ইন ভৌগোলিক ডেটা ব্যবহার করে প্লট তৈরি করা যায়।


Plotly দিয়ে Geo Plot তৈরি করার ধাপ

  1. Geo Plot লাইব্রেরি ইন্সটলেশন: সাধারণত plotly লাইব্রেরি ইন্সটল করা থাকলে Geo Plot তৈরি করা যায়।
  2. ভৌগোলিক ডেটা ব্যবহার: বিভিন্ন ধরনের ভৌগোলিক ডেটা যেমন দেশের মানচিত্র, শহরের মানচিত্র বা নির্দিষ্ট অঞ্চলের কোঅর্ডিনেট ডেটা ব্যবহার করা যায়।
  3. GeoJSON এবং শেপফাইল ব্যবহার: ব্যবহারকারীরা কাস্টম ভৌগোলিক ডেটা ফাইল (যেমন GeoJSON) আপলোড করে সেটি প্লট করতে পারেন।

১. চিত্রের মাধ্যমে দেশগুলোর মানচিত্র (Choropleth Map) তৈরি করা

Choropleth Map এমন একটি Geo Plot যা মানচিত্রের বিভিন্ন অঞ্চলের মধ্যে ডেটার পার্থক্য দেখায়। প্রতিটি অঞ্চলের রঙ দিয়ে তার মান বা পরিমাণ বোঝানো হয়।

উদাহরণ:

import plotly.express as px

# উদাহরণ ডেটাসেট (Gapminder)
data = px.data.gapminder()

# Choropleth Map তৈরি করা
fig = px.choropleth(data_frame=data, 
                    locations="country", 
                    color="lifeExp", 
                    hover_name="country", 
                    color_continuous_scale="Viridis")

# গ্রাফ প্রদর্শন
fig.show()

এখানে:

  • locations="country": দেশের নাম দিয়ে মানচিত্রের স্থান নির্ধারণ করা হয়েছে।
  • color="lifeExp": জীবন প্রত্যাশা (life expectancy) এর ওপর ভিত্তি করে রঙ নির্ধারণ করা হয়েছে।
  • color_continuous_scale="Viridis": রঙের স্কেল নির্ধারণ করা হয়েছে।

এটি একটি Choropleth Map যা বিভিন্ন দেশের মধ্যে জীবন প্রত্যাশা বিশ্লেষণ করছে।


২. স্ক্যাটার প্লট ব্যবহার করে Geo Plot

Geo Plot তৈরি করতে আপনি স্ক্যাটার প্লটও ব্যবহার করতে পারেন, যেখানে পয়েন্টগুলোর অবস্থান ল্যাটিচুড এবং লংগিচুডের মাধ্যমে নির্ধারিত হয়। এই ধরনের প্লটে আপনি বিভিন্ন শহর বা দেশের জন্য নির্দিষ্ট তথ্য প্রদর্শন করতে পারেন।

উদাহরণ:

import plotly.express as px

# উদাহরণ ডেটাসেট (প্লটলি ডেটাসেট)
data = px.data.gapminder()

# স্ক্যাটার প্লট তৈরি করা
fig = px.scatter_geo(data_frame=data,
                     locations="country",
                     size="pop",  # সাইজ অনুযায়ী জনগণের সংখ্যা
                     color="continent",  # মহাদেশ অনুযায়ী রঙ
                     hover_name="country", 
                     projection="natural earth",  # মানচিত্রের প্রজেকশন
                     title="Population of Countries")

# গ্রাফ প্রদর্শন
fig.show()

এখানে:

  • locations="country": দেশগুলোর কোঅর্ডিনেট সিস্টেম অনুযায়ী স্থান নির্ধারণ করা হয়েছে।
  • size="pop": জনগণের সংখ্যা অনুযায়ী পয়েন্টের আকার কাস্টমাইজ করা হয়েছে।
  • projection="natural earth": মানচিত্রের প্রজেকশন পদ্ধতি নির্ধারণ করা হয়েছে (এখানে "natural earth" ব্যবহার করা হয়েছে)।

এটি একটি স্ক্যাটার প্লট যা বিশ্বের বিভিন্ন দেশ ও তাদের জনগণের সংখ্যা প্রদর্শন করছে।


৩. কাস্টম GeoJSON ব্যবহার করে Geo Plot তৈরি করা

Plotly তে GeoJSON ফাইল ব্যবহার করে কাস্টম মানচিত্র তৈরি করা যায়। GeoJSON একটি ডেটা ফর্ম্যাট যা ভৌগোলিক তথ্য ধারণ করে, যেমন দেশ, শহর, এবং নির্দিষ্ট এলাকার আকার ও সীমানা।

উদাহরণ:

import plotly.graph_objects as go
import json

# GeoJSON ডেটা লোড করা (এই উদাহরণে GeoJSON ফাইল ব্যবহার করা হয়েছে)
with open('path_to_your_geojson_file.geojson') as f:
    geojson_data = json.load(f)

# কাস্টম Geo Plot তৈরি করা
fig = go.Figure(go.Choropleth(
    geojson=geojson_data,
    locations=['Region1', 'Region2', 'Region3'],  # কাস্টম স্থান
    z=[10, 20, 30],  # কাস্টম ডেটা
    colorbar_title="Value"
))

# মানচিত্রের প্রজেকশন নির্ধারণ
fig.update_geos(fitbounds="locations", visible=False)

# গ্রাফ প্রদর্শন
fig.show()

এখানে:

  • geojson_data: একটি কাস্টম GeoJSON ফাইল লোড করা হয়েছে যা আপনার নির্বাচিত স্থানগুলোর সীমানা ও তথ্য ধারণ করে।
  • locations: GeoJSON ফাইলে নির্দিষ্ট অঞ্চলগুলো দেওয়া হয়।
  • z: নির্দিষ্ট মানের উপর ভিত্তি করে রঙ নির্ধারণ করা হয়।

এটি কাস্টম GeoJSON ডেটার মাধ্যমে Geo Plot তৈরি করে প্রদর্শন করবে।


৪. প্লটলি-তে গ্লোবাল ম্যাপ (Globe Map) তৈরি করা

Plotly তে Globe Map তৈরি করতে পারেন যেখানে একটি ৩D গ্লোব ব্যবহার করে পৃথিবীর বিভিন্ন স্থান প্রদর্শন করা হয়।

উদাহরণ:

import plotly.graph_objects as go

# গ্লোবাল ম্যাপ তৈরি
fig = go.Figure(go.Scattergeo(
    locationmode='country names', 
    locations=["United States", "Brazil", "India", "China", "Australia"],
    marker=dict(size=10, color="blue")
))

# গ্লোবাল ম্যাপের প্রজেকশন নির্ধারণ
fig.update_geos(projection_type="orthographic")

# গ্রাফ প্রদর্শন
fig.show()

এখানে, projection_type="orthographic" ব্যবহার করে একটি ৩D গ্লোবাল ম্যাপ তৈরি করা হয়েছে।


সারাংশ

Plotly তে Geo Plots তৈরি করা অনেক সহজ এবং এটি বিশ্বব্যাপী ডেটার ভিজুয়ালাইজেশনে সাহায্য করে। আপনি Choropleth Maps, Scatter Plots, GeoJSON ফাইল ব্যবহার করে কাস্টম মানচিত্র, এবং 3D Globe Maps তৈরি করতে পারেন। এসব Geo Plots ডেটা বিশ্লেষণ এবং ভিজুয়ালাইজেশনে একটি নতুন মাত্রা যোগ করে।

Content added By
Promotion

Are you sure to start over?

Loading...