Google Charts হল একটি শক্তিশালী টুল যা ডেটা ভিজ্যুয়ালাইজেশনে ব্যবহৃত হয়। এই টুলটি আপনাকে চমৎকার এবং ইন্টারঅ্যাকটিভ চার্ট তৈরি করতে সাহায্য করে। যখন আপনি একটি চার্ট তৈরি করেন, তখন আপনি এর Formatting (ফরম্যাটিং) এবং Export (এক্সপোর্ট) অপশন কাস্টমাইজ করতে পারেন, যা ব্যবহারকারীর অভিজ্ঞতা এবং চার্টের কার্যকারিতা উন্নত করতে সাহায্য করে।
এই টিউটোরিয়ালে আমরা Chart Formatting এবং Export Options সম্পর্কে আলোচনা করব।
১. Chart Formatting (চার্ট ফরম্যাটিং)
Chart Formatting ব্যবহার করে আপনি চার্টের দেখাশোনাকে কাস্টমাইজ করতে পারেন, যেমন রঙ, ফন্ট, লেবেল, টাইটেল এবং অন্যান্য ভিজ্যুয়াল উপাদান।
১.১ Chart Title and Subtitle Formatting
চার্টের শিরোনাম এবং উপশিরোনাম কাস্টমাইজ করা যেতে পারে। আপনি title এবং subtitle এর জন্য ফন্ট, সাইজ, এবং রঙ সেট করতে পারেন।
var options = {
title: 'Sales Data',
subtitle: 'Annual Sales Performance',
titleTextStyle: {fontSize: 20, bold: true, color: 'blue'}, // Title styling
subtitleTextStyle: {fontSize: 16, italic: true, color: 'gray'} // Subtitle styling
};
১.২ Axis Formatting (অক্ষ ফরম্যাটিং)
অক্ষের লেবেল, স্কেল, এবং রঙ পরিবর্তন করা সম্ভব। আপনি hAxis (অনুভূমিক অক্ষ) এবং vAxis (উল্লম্ব অক্ষ) কাস্টমাইজ করতে পারেন।
var options = {
hAxis: {
title: 'Year',
titleTextStyle: {color: 'blue', fontSize: 14},
gridlines: {color: 'lightgray'}
},
vAxis: {
title: 'Sales',
titleTextStyle: {color: 'green', fontSize: 14},
gridlines: {color: 'lightgray'}
}
};
১.৩ Data Series Formatting (ডেটা সিরিজ ফরম্যাটিং)
ডেটা সিরিজের রঙ, স্টাইল এবং আকার কাস্টমাইজ করা যেতে পারে। এটি বিশেষত Bar Chart বা Line Chart এর ক্ষেত্রে গুরুত্বপূর্ণ।
var options = {
series: {
0: {color: 'red'}, // 1st series red color
1: {color: 'green'} // 2nd series green color
}
};
১.৪ Tooltips Customization (টুলটিপ কাস্টমাইজেশন)
টুলটিপের টেক্সট, রঙ, এবং ফরম্যাট পরিবর্তন করা সম্ভব। আপনি tooltips এর জন্য isHtml সেট করে HTML কাস্টমাইজেশন করতে পারেন।
var options = {
tooltip: {
isHtml: true, // enables HTML content in tooltips
textStyle: {fontSize: 14, color: 'blue'}
}
};
১.৫ Legend Customization (লেজেন্ড কাস্টমাইজেশন)
লেজেন্ডের অবস্থান, রঙ এবং ফন্ট কাস্টমাইজ করা যায়।
var options = {
legend: {position: 'top', textStyle: {fontSize: 14, color: 'purple'}}
};
২. Chart Export Options (চার্ট এক্সপোর্ট অপশন)
Google Charts আপনাকে চার্টটি বিভিন্ন ফরম্যাটে এক্সপোর্ট করার সুবিধা প্রদান করে। আপনি চার্টটি PNG, JPEG, PDF, বা SVG ফরম্যাটে ডাউনলোড করতে পারেন।
২.১ Chart as Image (চার্ট হিসেবে ছবি এক্সপোর্ট)
Google Charts এক্সপোর্ট করার জন্য built-in chart.getImageURI() ফাংশন প্রদান করে, যা আপনাকে চার্টটি PNG বা JPEG ফরম্যাটে ডাউনলোড করার সুযোগ দেয়।
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
google.visualization.events.addListener(chart, 'ready', function () {
var url = chart.getImageURI(); // Get the chart as a PNG image
console.log(url); // You can use this URL to download or display the image
});
২.২ Save Chart as PDF
চার্টের PDF আউটপুট পেতে, chart.getImageURI() ব্যবহার করার পর, এই URL টি PDF আউটপুটে কনভার্ট করা যেতে পারে।
// Use `chart.getImageURI()` to generate the image URI
var pdfURL = chart.getImageURI();
// Save the PDF or open it in a new window
window.open(pdfURL, '_blank');
২.৩ Saving Chart to Google Drive (Google Drive এ সংরক্ষণ)
গুগল ড্রাইভে চার্ট সংরক্ষণ করতে, আপনি Google API বা Google Sheets API ব্যবহার করে চার্টটিকে একটি শীট বা ড্রাইভ ফোল্ডারে আপলোড করতে পারেন। এজন্য আপনাকে Google Drive API ইন্টিগ্রেট করতে হবে।
২.৪ Data Download as CSV or Excel
Google Visualization API দিয়ে আপনি চার্টের ডেটা CSV বা Excel ফাইল হিসেবে ডাউনলোড করতে পারেন। এজন্য আপনাকে DataTable থেকে ডেটা বের করে ফাইল হিসেবে সংরক্ষণ করতে হবে।
function downloadCSV(chartData) {
var csv = 'City,Population\n';
chartData.forEach(function(row) {
csv += row[0] + ',' + row[1] + '\n';
});
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
hiddenElement.target = '_blank';
hiddenElement.download = 'chart_data.csv';
hiddenElement.click();
}
৩. Chart Export to Image (ছবি হিসেবে এক্সপোর্ট)
getImageURI() ফাংশন ব্যবহার করে আপনি চার্টকে PNG বা JPEG ছবির আকারে এক্সপোর্ট করতে পারেন। এটি একটি ডাউনলোড লিঙ্ক তৈরি করে যা ব্যবহারকারীরা ক্লিক করে ছবি ডাউনলোড করতে পারবেন।
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
google.visualization.events.addListener(chart, 'ready', function () {
var imageURI = chart.getImageURI();
var link = document.createElement('a');
link.href = imageURI;
link.download = 'chart_image.png';
link.click();
});
উপসংহার
Google Charts ব্যবহারকারীদের জন্য খুবই শক্তিশালী এবং কাস্টমাইজেবল টুল, যা chart formatting এবং export options প্রদান করে। আপনি সহজেই tooltips, data labels, axis formatting, legend, এবং অন্যান্য ভিজ্যুয়াল উপাদান কাস্টমাইজ করতে পারেন, যা ব্যবহারকারীর অভিজ্ঞতা উন্নত করে। এর পাশাপাশি, Google Charts আপনাকে chart export অপশন যেমন PNG, JPEG, PDF, এবং SVG ফরম্যাটে চার্ট এক্সপোর্ট করার সুযোগ দেয়, যা আরও ব্যবহারে উপকারী।
Google Charts একটি শক্তিশালী ভিজ্যুয়ালাইজেশন টুল যা ডেটা প্রদর্শন করতে ব্যবহৃত হয়। কখনও কখনও, আপনি আপনার তৈরি করা চার্টগুলো PNG, SVG বা PDF আকারে Export করতে চান, যাতে সেগুলো ডাউনলোড করা বা অন্যান্য মিডিয়াতে ব্যবহার করা যায়। Google Charts এ সহজেই চার্টের ছবি এক্সপোর্ট করার জন্য একটি বিশেষ ফিচার রয়েছে, যার মাধ্যমে আপনি আপনার চার্টের ছবি বিভিন্ন ফরম্যাটে সংরক্ষণ করতে পারেন।
১. Chart Image Export (PNG, SVG, PDF)
Google Charts এ chart image export করার জন্য getImageURI() ফাংশন ব্যবহার করা হয়। এই ফাংশনটি আপনার চার্টকে একটি নির্দিষ্ট ইমেজ ফরম্যাটে রেন্ডার করে এবং তার পর আপনি সেই ছবি ডাউনলোড করতে পারেন।
১.১ Chart Export in PNG Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Export Chart to PNG, SVG, PDF</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Export to PNG
document.getElementById('download_png').addEventListener('click', function() {
var imageUri = chart.getImageURI(); // Get the chart as PNG
var link = document.createElement('a');
link.href = imageUri;
link.download = 'chart.png'; // Set the download file name
link.click(); // Trigger the download
});
}
</script>
</head>
<body>
<h2>Google Chart Export to PNG Example</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="download_png">Download PNG</button>
</body>
</html>
কোড ব্যাখ্যা:
- getImageURI():
chart.getImageURI()ফাংশনটি ব্যবহার করে আপনি চার্টটি PNG ফরম্যাটে রেন্ডার করতে পারেন। এটি একটি ডেটা URI ফিরিয়ে দেয়, যা ইমেজ ফাইল হিসেবে ডাউনলোড করা যায়। - Download PNG: একটি Download বাটন তৈরি করা হয়েছে, যার মাধ্যমে ব্যবহারকারী চার্টের ছবি PNG ফরম্যাটে ডাউনলোড করতে পারবেন।
২. Chart Export to SVG
SVG (Scalable Vector Graphics) ফরম্যাট একটি ভেক্টর ইমেজ ফরম্যাট, যা হার্শ্বিকভাবে স্কেল করা যায় এবং high-quality print এবং resizing এর জন্য ব্যবহার করা হয়।
উদাহরণ: Chart Export to SVG
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Export Chart to SVG</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Export to SVG
document.getElementById('download_svg').addEventListener('click', function() {
var svgUri = chart.getImageURI().replace('image/png', 'image/svg+xml');
var link = document.createElement('a');
link.href = svgUri;
link.download = 'chart.svg'; // Set the download file name
link.click(); // Trigger the download
});
}
</script>
</head>
<body>
<h2>Google Chart Export to SVG Example</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="download_svg">Download SVG</button>
</body>
</html>
কোড ব্যাখ্যা:
- SVG Export: এখানে getImageURI() এর আউটপুটকে 'image/svg+xml' ফরম্যাটে রূপান্তরিত করা হয়েছে। এটি SVG ফরম্যাটে চিত্র রেন্ডার করে, যা আরও স্পষ্ট এবং স্কেলযোগ্য হয়।
৩. Chart Export to PDF
PDF এ চার্ট এক্সপোর্ট করার জন্য Google Charts সরাসরি কোনো ফাংশন প্রদান না করলেও, আপনি HTML2Canvas বা jsPDF এর মতো বাইরের লাইব্রেরি ব্যবহার করে এটি করতে পারেন।
উদাহরণ: Chart Export to PDF
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Export Chart to PDF</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.4.0/jspdf.umd.min.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Export to PDF
document.getElementById('download_pdf').addEventListener('click', function() {
const { jsPDF } = window.jspdf;
const doc = new jsPDF();
doc.html(document.getElementById('chart_div'), {
callback: function (doc) {
doc.save('chart.pdf');
}
});
});
}
</script>
</head>
<body>
<h2>Google Chart Export to PDF Example</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="download_pdf">Download PDF</button>
</body>
</html>
কোড ব্যাখ্যা:
- jsPDF Library: jsPDF লাইব্রেরি ব্যবহার করে, আমরা HTML উপাদান (যেমন চার্ট) PDF আউটপুটে রূপান্তর করতে পারি।
- Chart to PDF Export:
doc.html()ফাংশন ব্যবহার করে চার্টের ডিভের HTML কনটেন্ট PDF ফাইল হিসেবে রেন্ডার করা হয়েছে এবংdoc.save()দিয়ে সেটি ডাউনলোড করা হয়েছে।
উপসংহার
Google Charts ব্যবহার করে আপনি খুব সহজেই PNG, SVG, এবং PDF ফরম্যাটে আপনার চার্টগুলো এক্সপোর্ট করতে পারেন। এর জন্য আপনি getImageURI() ফাংশন ব্যবহার করতে পারেন PNG বা SVG এক্সপোর্টের জন্য, এবং PDF এক্সপোর্টের জন্য বাইরের লাইব্রেরি jsPDF ব্যবহার করতে পারেন। এই পদ্ধতিগুলোর মাধ্যমে আপনি আপনার তৈরি চার্টগুলো সহজে ডাউনলোড বা শেয়ার করতে পারবেন।
Google Charts ব্যবহার করে আপনি আপনার ডেটা ভিজ্যুয়ালাইজেশনে Print এবং Share অপশন যোগ করতে পারেন। এই দুটি ফিচার ব্যবহারকারীদের চার্টগুলি প্রিন্ট করতে বা শেয়ার করতে সহায়ক, যা বিশেষ করে ড্যাশবোর্ড বা রিপোর্টের জন্য অত্যন্ত কার্যকরী হতে পারে।
১. Print Option যোগ করা
Google Charts তে Print অপশন যোগ করা সম্ভব, যা ব্যবহারকারীকে চার্ট বা ডেটা প্রিন্ট করার সুযোগ দেয়। এটি সাধারণত একটি বাটনের মাধ্যমে কার্যকর করা হয়, যা চার্টের পাশে প্রদর্শিত হয় এবং ক্লিক করলে চার্টটি প্রিন্ট করার জন্য প্রম্পট দেখায়।
Print Option যোগ করার উদাহরণ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Google Charts Print Option</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Print functionality
document.getElementById('print_button').addEventListener('click', function() {
var chartImage = chart.getImageURI(); // Get chart image URL
var printWindow = window.open('', '', 'height=500, width=700');
printWindow.document.write('<img src="' + chartImage + '" />');
printWindow.document.close();
printWindow.print();
});
}
</script>
</head>
<body>
<h2>Google Chart with Print Option</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="print_button">Print Chart</button>
</body>
</html>
কোড ব্যাখ্যা:
- Chart Rendering: প্রথমে আমরা একটি Bar Chart তৈরি করেছি এবং সেটি ব্যবহারকারীর স্ক্রিনে প্রদর্শন করেছি।
- Print Button:
print_buttonনামে একটি button তৈরি করা হয়েছে। এই বাটনে ক্লিক করলে chart এর একটি image URI (চিত্র URL) তৈরি হয় এবং একটি নতুন প্রিন্ট উইন্ডোতে সেই চিত্রটি প্রদর্শিত হয়। - window.print(): প্রিন্ট অপশনের মাধ্যমে ব্যবহারকারী চার্টটি প্রিন্ট করতে পারবেন।
২. Share Option যোগ করা
Share অপশন ব্যবহারকারীদের জন্য একটি চমৎকার ফিচার, যা তাদের Google Charts শেয়ার করতে সহায়ক। আপনি গুগল ড্রাইভ বা অন্য কোনো শেয়ারিং সিস্টেমের মাধ্যমে চার্টটি শেয়ার করতে পারেন। এই ফিচারটি বিশেষ করে আপনার রিপোর্ট বা ড্যাশবোর্ডের জন্য খুবই কার্যকরী।
Share Option যোগ করার উদাহরণ
Google Charts সরাসরি একটি শেয়ারিং ফিচার প্রদান না করলেও, আপনি Google Drive বা অন্যান্য প্ল্যাটফর্মের মাধ্যমে শেয়ার করার জন্য সহজে একটি URL শেয়ার করতে পারেন।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Google Charts Share Option</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Share functionality
document.getElementById('share_button').addEventListener('click', function() {
var chartImage = chart.getImageURI(); // Get chart image URL
var shareUrl = 'https://www.example.com/share?image=' + encodeURIComponent(chartImage);
window.open(shareUrl, '_blank'); // Open share link in new tab
});
}
</script>
</head>
<body>
<h2>Google Chart with Share Option</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="share_button">Share Chart</button>
</body>
</html>
কোড ব্যাখ্যা:
- Share Button: এখানে একটি Share button তৈরি করা হয়েছে যা ব্যবহারকারীদের শেয়ার অপশন প্রদান করে।
- Share URL:
chart.getImageURI()ফাংশনের মাধ্যমে আমরা চিত্রের একটি URL তৈরি করেছি এবং সেই URL শেয়ার করার জন্য একটি লিংক তৈরি করেছি (এখানে 'https://www.example.com/share' ব্যবহার করা হয়েছে, যা আপনি আপনার শেয়ার সিস্টেমের জন্য কাস্টমাইজ করতে পারেন)। - Open Share Link:
window.open(shareUrl, '_blank')ব্যবহার করে শেয়ার লিংক একটি নতুন ট্যাবে খুলে দেওয়া হচ্ছে।
৩. Print এবং Share Options এর কাস্টমাইজেশন
- Print Button Styling: আপনি CSS ব্যবহার করে প্রিন্ট এবং শেয়ার বাটনের ডিজাইন কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ:
button {
background-color: #4CAF50;
color: white;
font-size: 16px;
padding: 10px 20px;
border: none;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
- Advanced Share Options: আপনি Google Drive বা Dropbox এর API ব্যবহার করে Share ফিচারটি আরও উন্নত করতে পারেন, যেমন সরাসরি ডেটা আপলোড বা লিঙ্ক শেয়ারিং।
উপসংহার
Print এবং Share অপশনগুলি Google Charts এ একটি চমৎকার ফিচার হিসেবে কাজ করে, যা ব্যবহারকারীদের তাদের চার্ট বা ডেটা সহজে শেয়ার এবং প্রিন্ট করার সুযোগ দেয়। আপনি আপনার চার্টের কার্যকারিতা বাড়ানোর জন্য এই অপশনগুলিকে কাস্টমাইজ করতে পারেন এবং এগুলোর মাধ্যমে ডেটার প্রবাহ বা বিশ্লেষণ অন্যদের কাছে খুব সহজে পৌঁছে দিতে পারেন।
Custom Chart Templates তৈরি করা Google Charts ব্যবহারকারীদের জন্য একটি অত্যন্ত শক্তিশালী টুল, যা আপনি বিভিন্ন ধরনের ডেটা ভিজ্যুয়ালাইজেশন চাহিদা পূরণের জন্য কাস্টমাইজড চার্ট তৈরি করতে পারেন। আপনি চাইলে বিশেষ রঙ, ফন্ট, আকার, এবং স্টাইল ব্যবহার করে চার্টগুলোর লুক এবং অনুভূতি কাস্টমাইজ করতে পারবেন।
এখানে, আমরা দেখাবো কীভাবে Custom Chart Templates তৈরি করা যায় এবং কীভাবে বিভিন্ন ধরনের চার্ট কাস্টমাইজেশন করা যায়।
১. Custom Chart Templates এর উদ্দেশ্য
Custom Chart Templates তৈরি করার উদ্দেশ্য হলো নির্দিষ্ট ধরণের চার্টের জন্য সাধারণ কাঠামো তৈরি করা যা বার বার ব্যবহার করা যাবে। এর মাধ্যমে আপনি একাধিক প্রকল্পের জন্য একসাথে ডেটা ভিজ্যুয়ালাইজেশন এবং কাস্টম সেটিংস তৈরি করতে পারবেন, এবং পরবর্তী সময়ে শুধু ডেটা আপডেট করেই ব্যবহার করতে পারবেন।
এই প্রক্রিয়া আপনাকে কাজের গতি বৃদ্ধি করতে সাহায্য করবে এবং একই ধরনের চার্টগুলির জন্য পুনরায় কাস্টম সেটিংস ব্যবহার করতে পারবেন।
২. Custom Chart Templates তৈরি করার উদাহরণ
ধরা যাক, আমরা একটি Bar Chart এবং একটি Pie Chart তৈরি করতে চাই, যা নির্দিষ্ট রঙ এবং ফন্ট কাস্টমাইজেশন, টুলটিপস এবং লেবেল প্রদর্শন করবে। এই চার্টগুলির কাস্টমাইজেশন একবার তৈরি করার পর, পরবর্তী সময়ে আপনি সহজেই ডেটা পরিবর্তন করে একই টেমপ্লেট ব্যবহার করতে পারবেন।
কোড উদাহরণ: Custom Bar Chart Template
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Custom Bar Chart Template</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Google Charts লোড করা
google.charts.load('current', {'packages':['corechart', 'bar']});
// কলব্যাক ফাংশন
google.charts.setOnLoadCallback(drawCustomBarChart);
// Custom Bar Chart Template তৈরি করার ফাংশন
function drawCustomBarChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {
title: 'Population',
minValue: 0,
textStyle: {color: 'blue', fontSize: 16}
},
vAxis: {
title: 'City',
textStyle: {color: 'green', fontSize: 14}
},
backgroundColor: '#f1f1f1', // চার্টের ব্যাকগ্রাউন্ড রঙ
colors: ['#4caf50', '#ff5722', '#2196f3'], // বার গুলোর রঙ কাস্টমাইজ করা
tooltip: {textStyle: {color: 'red'}}, // টুলটিপের টেক্সট রঙ
chartArea: {width: '80%', height: '70%'}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<h2>Custom Bar Chart Template</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
কোড ব্যাখ্যা:
- Custom Chart Settings:
hAxis.textStyle: অনুভূমিক অক্ষের টেক্সটের ফন্ট সাইজ এবং রঙ কাস্টমাইজ করা হয়েছে।vAxis.textStyle: উল্লম্ব অক্ষের টেক্সটের ফন্ট সাইজ এবং রঙ কাস্টমাইজ করা হয়েছে।backgroundColor: চার্টের ব্যাকগ্রাউন্ডের রঙ সেট করা হয়েছে।colors: বারগুলির জন্য বিভিন্ন রঙ সেট করা হয়েছে।
- Tooltip Customization:
tooltip.textStyle.color: টুলটিপের টেক্সট রঙ কাস্টমাইজ করা হয়েছে।
- Chart Area:
chartAreaঅপশনে চার্টের আকার নির্ধারণ করা হয়েছে।
৩. Custom Pie Chart Template
এখন, আমরা একটি Pie Chart তৈরি করব এবং এর জন্য টেমপ্লেট তৈরি করব, যাতে একই ধরনের কাস্টম সেটিংস একাধিক প্রকল্পে ব্যবহার করা যায়।
কোড উদাহরণ: Custom Pie Chart Template
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Custom Pie Chart Template</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
// Google Charts লোড করা
google.charts.load('current', {'packages':['corechart', 'pie']});
// কলব্যাক ফাংশন
google.charts.setOnLoadCallback(drawCustomPieChart);
// Custom Pie Chart Template তৈরি করার ফাংশন
function drawCustomPieChart() {
var data = google.visualization.arrayToDataTable([
['Category', 'Amount'],
['Food', 45],
['Rent', 25],
['Utilities', 15],
['Entertainment', 10],
['Others', 5]
]);
var options = {
title: 'Monthly Expenses Distribution',
slices: {
0: {offset: 0.1, color: '#FF0000'}, // Food স্লাইসের জন্য রঙ এবং প্রস্থ কাস্টমাইজ করা
1: {offset: 0.1, color: '#00FF00'}, // Rent স্লাইসের জন্য রঙ এবং প্রস্থ কাস্টমাইজ করা
2: {offset: 0.1, color: '#0000FF'} // Utilities স্লাইসের জন্য রঙ এবং প্রস্থ কাস্টমাইজ করা
},
chartArea: {width: '80%', height: '80%'},
tooltip: {textStyle: {color: 'blue'}}, // টুলটিপ টেক্সট রঙ কাস্টমাইজ করা
is3D: true // 3D ইফেক্ট
};
var chart = new google.visualization.PieChart(document.getElementById('pie_chart'));
chart.draw(data, options);
}
</script>
</head>
<body>
<h2>Custom Pie Chart Template</h2>
<div id="pie_chart" style="width: 900px; height: 500px;"></div>
</body>
</html>
কোড ব্যাখ্যা:
- Custom Pie Chart Settings:
- Slices Customization:
slicesঅপশন দিয়ে প্রতিটি স্লাইসের রঙ এবং প্রস্থ কাস্টমাইজ করা হয়েছে। - 3D Effect:
is3D: trueদিয়ে চার্টকে 3D হিসেবে প্রদর্শন করা হয়েছে। - Tooltip Customization: টুলটিপের টেক্সট রঙ নীল করা হয়েছে।
- Slices Customization:
- Chart Area:
chartAreaদিয়ে চার্টের সীমানা কাস্টমাইজ করা হয়েছে, যাতে চার্টের সীমানা এবং স্পেস ভালোভাবে দেখানো যায়।
৪. Custom Chart Templates তৈরি করার আরও কিছু কৌশল
গুগল চার্টে Custom Templates তৈরি করা অনেক সুবিধাজনক এবং এর মাধ্যমে আপনি একই ধরনের চার্ট পুনরায় ব্যবহার করতে পারবেন। এখানে কিছু অতিরিক্ত কাস্টমাইজেশন কৌশল দেয়া হচ্ছে:
১. কাস্টম টুলটিপ কন্টেন্ট (Custom Tooltip Content)
কাস্টম টুলটিপের মাধ্যমে আপনি চার্টের উপর মাউস হোভার করার সময় ব্যবহারকারীকে অতিরিক্ত কাস্টম তথ্য প্রদর্শন করতে পারেন, যা ডেটার সাথে সম্পর্কিত।
tooltip: {
trigger: 'selection', // সিলেক্ট করলে টুলটিপ প্রদর্শন হবে
isHtml: true, // কাস্টম HTML টুলটিপ ব্যবহার
textStyle: {
color: 'purple',
fontSize: 14
}
}
এই কোডের মাধ্যমে আপনি টুলটিপে HTML ব্যবহার করতে পারবেন এবং এতে টেক্সট স্টাইল কাস্টমাইজ করতে পারবেন।
২. স্টাইলড ডেটা লেবেল (Styled Data Labels)
ডেটা লেবেলগুলোকে আরও পরিষ্কার এবং সুন্দর করে উপস্থাপন করতে আপনি এগুলোর জন্য ফন্ট সাইজ, ফন্ট কালার, এবং ব্যাকগ্রাউন্ড কাস্টমাইজ করতে পারেন।
annotations: {
alwaysOutside: true, // লেবেল বাহিরে প্রদর্শিত হবে
textStyle: {
fontSize: 18, // ফন্ট সাইজ
color: '#4CAF50', // ফন্ট রঙ
bold: true // বোল্ড টেক্সট
}
}
৩. চার্টের রঙ কাস্টমাইজ করা (Custom Chart Colors)
চার্টের বিভিন্ন উপাদানের জন্য রঙ কাস্টমাইজ করতে আপনি colors অপশন ব্যবহার করতে পারেন। যেমন, বারের রঙ পরিবর্তন করা।
colors: ['#e60000', '#ff9900', '#66cc66', '#3366cc'], // বারের জন্য রঙ নির্ধারণ
৪. এনিমেশন কাস্টমাইজেশন (Animation Customization)
আপনি chart.draw() ফাংশন ব্যবহার করার সময় চার্টের এনিমেশন কাস্টমাইজ করতে পারেন। উদাহরণস্বরূপ, চার্টের রিফ্রেশ টাইম সেট করা।
animation: {
startup: true, // প্রথমবার চার্ট অ্যানিমেশন হবে
duration: 1000, // এক সেকেন্ডে অ্যানিমেশন সম্পন্ন হবে
easing: 'out' // অ্যানিমেশনটির শেষের দিকে ধীরে ধীরে হবে
}
৫. চার্টের আকার এবং স্টাইল (Chart Size and Style)
চার্টের আকার কাস্টমাইজ করার জন্য width এবং height নির্ধারণ করা হয়, পাশাপাশি গ্রিড লাইন এবং অক্ষের স্টাইলিংও কাস্টমাইজ করা যায়।
width: 800, // চার্টের প্রস্থ
height: 600, // চার্টের উচ্চতা
chartArea: {width: '80%', height: '70%'}, // চার্টের সীমানা নির্ধারণ
৫. Custom Chart Templates দিয়ে ফাংশনালিটি সম্প্রসারণ
আপনার কাস্টম টেমপ্লেটগুলি নির্দিষ্ট প্রয়োজনে তৈরি করতে হলে, আপনি JavaScript functions ব্যবহার করতে পারেন যা ব্যবহারকারীর ইন্টারঅ্যাকশনের ভিত্তিতে ডেটা পরিবর্তন বা চার্ট আপডেট করবে।
১. ডেটা পরিবর্তন এবং রিফ্রেশ (Dynamic Data Update)
আপনি setInterval() বা setTimeout() ব্যবহার করে ডেটা রিফ্রেশ বা আপডেট করতে পারেন। এটি রিয়েল-টাইম ডেটা প্রদর্শনের জন্য খুবই কার্যকর।
function updateChartData() {
// ডেটার নতুন মান পাওয়ার পর চার্ট রিফ্রেশ
var updatedData = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', Math.random() * 10000],
['Los Angeles', Math.random() * 10000]
]);
chart.draw(updatedData, options); // নতুন ডেটা দিয়ে চার্ট আঁকুন
}
// প্রতি ৫ সেকেন্ড পর পর ডেটা আপডেট করুন
setInterval(updateChartData, 5000);
২. ইভেন্টস এবং ইন্টারঅ্যাকশন (Events and Interactions)
আপনি Click, Hover, বা Selection ইভেন্টগুলো ব্যবহার করে চার্টে ব্যবহারকারী ইন্টারঅ্যাকশনের জন্য কাস্টম ফাংশন তৈরি করতে পারেন।
google.visualization.events.addListener(chart, 'select', function() {
var selection = chart.getSelection();
var selectedItem = selection[0];
alert('You clicked on ' + data.getValue(selectedItem.row, 0));
});
উপসংহার
Custom Chart Templates তৈরি করে আপনি দ্রুত এবং কার্যকরভাবে বিভিন্ন ধরনের ডেটা ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন। Google Charts এর মাধ্যমে আপনি প্রতিটি চার্টের জন্য customized settings যেমন রঙ, ফন্ট, টুলটিপ, ডেটা লেবেল, এবং ইভেন্টগুলি কাস্টমাইজ করতে পারেন। এই কাস্টমাইজেশনগুলো আপনার চার্টগুলিকে আরও কার্যকরী এবং ব্যবহারকারী বান্ধব করে তুলবে।
Google Charts একটি শক্তিশালী ভিজ্যুয়ালাইজেশন টুল যা ওয়েব ডেভেলপারদের বিভিন্ন ধরনের চার্ট তৈরি এবং কাস্টমাইজ করার সুবিধা প্রদান করে। তবে, অনেক সময় চার্টের ডেটা export বা integrate করার প্রয়োজন পড়ে। এখানে আমরা আলোচনা করব Chart Data Export এবং Integration Techniques নিয়ে, যাতে আপনি আপনার চার্টের ডেটা সহজে এক্সপোর্ট করতে পারেন এবং অন্যান্য প্ল্যাটফর্মের সাথে ইন্টিগ্রেট করতে পারেন।
১. Chart Data Export Techniques
Google Charts এর মাধ্যমে তৈরি করা ডেটা অনেক সময় এক্সপোর্ট করার প্রয়োজন হতে পারে, যেমন এক্সেল (Excel), CSV ফাইল, অথবা ইমেজ আউটপুট। Google Charts সরাসরি ডেটা এক্সপোর্ট করার কোনো অপশন না দিলেও, JavaScript এবং HTML ব্যবহার করে আপনি এই কাজটি করতে পারেন।
১.১. Data Export to CSV
চার্টের ডেটা CSV (Comma Separated Values) ফাইলে এক্সপোর্ট করার জন্য JavaScript ব্যবহার করা যেতে পারে।
উদাহরণ: Google Chart Data Export to CSV
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Export Chart Data to CSV</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'},
legend: { position: 'none' }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Export data to CSV
document.getElementById('exportButton').onclick = function() {
var csv = 'City,Population\n'; // CSV header
for (var i = 0; i < data.getNumberOfRows(); i++) {
csv += data.getValue(i, 0) + ',' + data.getValue(i, 1) + '\n';
}
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
hiddenElement.target = '_blank';
hiddenElement.download = 'chart_data.csv';
hiddenElement.click();
};
}
</script>
</head>
<body>
<h2>Google Chart with Export to CSV</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="exportButton">Export Data to CSV</button>
</body>
</html>
কোড ব্যাখ্যা:
- Data to CSV: চার্টের ডেটা
data.getValue(i, 0)এবংdata.getValue(i, 1)এর মাধ্যমে CSV ফরম্যাটে রূপান্তর করা হয়। - Download CSV: Download অপশন তৈরি করতে
aট্যাগ এবংdata:text/csvইউআরএল ব্যবহার করা হয়েছে, যা ব্যবহারকারীদের CSV ফাইল ডাউনলোড করতে সাহায্য করে।
২. Chart Data Export to Image
চার্টের ইমেজ আউটপুট তৈরির জন্য Google Charts সরাসরি কোনো API সরবরাহ করে না, তবে আপনি JavaScript এবং HTML এর সাহায্যে এক্সপোর্ট করা চিত্রটি Base64 encoding হিসেবে সেভ করতে পারেন।
উদাহরণ: Chart Export to PNG (Image)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Export Chart to Image</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'bar']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['City', 'Population'],
['New York', 8175000],
['Los Angeles', 3792000],
['Chicago', 2695000],
['Houston', 2121000],
['Phoenix', 1445000]
]);
var options = {
title: 'Population of Major Cities',
hAxis: {title: 'Population', minValue: 0},
vAxis: {title: 'City'},
legend: { position: 'none' }
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
// Export chart to PNG image
document.getElementById('exportImageButton').onclick = function() {
var imgUri = chart.getImageURI();
var hiddenElement = document.createElement('a');
hiddenElement.href = imgUri;
hiddenElement.target = '_blank';
hiddenElement.download = 'chart_image.png';
hiddenElement.click();
};
}
</script>
</head>
<body>
<h2>Google Chart with Export to Image</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
<button id="exportImageButton">Export Chart to PNG</button>
</body>
</html>
কোড ব্যাখ্যা:
- getImageURI(): এই ফাংশনটি ব্যবহার করে, আমরা চার্টের Base64 encoded PNG image URI তৈরি করি।
- Download PNG:
aট্যাগ ব্যবহার করে চিত্রটি ডাউনলোড করা হয়।
৩. Chart Data Integration Techniques
Google Charts এর মাধ্যমে আপনি অন্য ডেটা সোর্স থেকে ডেটা গ্রহণ করে Chart Data Integration করতে পারেন। এটি ডেটা API, Google Sheets, MySQL Database, বা JSON ফাইল থেকে ডেটা লোড করে চার্টে প্রদর্শন করতে সহায়ক।
৩.১. Google Sheets Integration
Google Sheets থেকে ডেটা এনে আপনি চার্ট তৈরি করতে পারেন। Google Sheets API ব্যবহার করে এটি করা যায়। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Google Sheets থেকে ডেটা লোড করা হচ্ছে।
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Google Sheets Integration</title>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart', 'table']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var queryString = encodeURIComponent('SELECT A, B, C');
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/your_spreadsheet_id/gviz/tq?tq=' + queryString);
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data = response.getDataTable();
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, {title: 'Google Sheets Data'});
}
</script>
</head>
<body>
<h2>Google Charts with Google Sheets Data</h2>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
কোড ব্যাখ্যা:
- Google Sheets API: Google Sheets থেকে ডেটা কোয়েরি করার জন্য
google.visualization.Queryব্যবহার করা হয়েছে। - Query Parameters: ডেটার জন্য SQL-এর মত কোয়েরি ব্যবহার করা হয়েছে (যেমন
SELECT A, B, C), যেখানে আপনি আপনার স্প্রেডশিটের কলাম থেকে ডেটা নিয়ে আসতে পারেন।
উপসংহার
Chart Data Export এবং Integration প্রযুক্তি Google Charts ব্যবহার করে শক্তিশালী ডেটা ভিজ্যুয়ালাইজেশন টুল তৈরি করতে সহায়ক। আপনি CSV, PNG, বা Excel ফাইলের মাধ্যমে ডেটা এক্সপোর্ট করতে পারেন, এবং Google Sheets, JSON, বা Database থেকে ডেটা ইন্টিগ্রেট করতে পারেন। এই কৌশলগুলি ব্যবহার করে আপনি আপনার ডেটার বিশ্লেষণ এবং উপস্থাপন আরও সহজ এবং কার্যকরী করতে পারেন।
Read more