JFreeChart লাইব্রেরি ব্যবহার করে আপনি CombinedDomainCategoryPlot এবং CombinedRangeXYPlot তৈরি করতে পারেন। এই দুটি প্লট বিশেষভাবে বিভিন্ন ধরনের ডেটাসেট একত্রিত করে একটি গ্রাফে প্রদর্শন করতে ব্যবহৃত হয়। এগুলির মাধ্যমে আপনি একাধিক চার্টের ডেটা কম্বাইন করতে পারেন এবং একটি চার্টে দেখাতে পারেন।
CombinedDomainCategoryPlot
CombinedDomainCategoryPlot ব্যবহার করা হয় একাধিক CategoryPlot একত্রিত করে একটি মাত্র ডোমেইন (X-অক্ষ) ব্যবহার করার জন্য। এটি সাধারণত Bar Chart, Line Chart, এবং অন্যান্য ক্যাটেগরি-ভিত্তিক চার্টের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে একাধিক ক্যাটেগরি চার্ট একত্রিত করতে সাহায্য করে, যেমন একাধিক বছরের বিক্রয় গ্রাফ বা বিভিন্ন দেশের মধ্যে তুলনা।
CombinedDomainCategoryPlot উদাহরণ
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CombinedDomainCategoryPlot;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.plot.PlotOrientation;
import javax.swing.*;
public class CombinedDomainCategoryPlotExample {
public static void main(String[] args) {
// প্রথম ডেটাসেট তৈরি করা
DefaultCategoryDataset dataset1 = new DefaultCategoryDataset();
dataset1.addValue(1.0, "Category 1", "Jan");
dataset1.addValue(4.0, "Category 1", "Feb");
dataset1.addValue(3.0, "Category 1", "Mar");
// দ্বিতীয় ডেটাসেট তৈরি করা
DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
dataset2.addValue(2.0, "Category 2", "Jan");
dataset2.addValue(5.0, "Category 2", "Feb");
dataset2.addValue(4.0, "Category 2", "Mar");
// প্রথম চার্ট (Bar Chart) তৈরি করা
JFreeChart chart1 = ChartFactory.createBarChart(
"Bar Chart Example", // চার্টের শিরোনাম
"Month", // এক্স-অক্ষের নাম
"Value", // ওয়াই-অক্ষের নাম
dataset1, // প্রথম ডেটাসেট
PlotOrientation.VERTICAL,
true,
true,
false
);
// দ্বিতীয় চার্ট (Line Chart) তৈরি করা
JFreeChart chart2 = ChartFactory.createLineChart(
"Line Chart Example", // চার্টের শিরোনাম
"Month", // এক্স-অক্ষের নাম
"Value", // ওয়াই-অক্ষের নাম
dataset2, // দ্বিতীয় ডেটাসেট
PlotOrientation.VERTICAL,
true,
true,
false
);
// CombinedDomainCategoryPlot তৈরি করা
CombinedDomainCategoryPlot combinedPlot = new CombinedDomainCategoryPlot();
combinedPlot.add(chart1.getCategoryPlot(), 1); // প্রথম চার্ট যোগ করা
combinedPlot.add(chart2.getCategoryPlot(), 1); // দ্বিতীয় চার্ট যোগ করা
// CombinedChart তৈরি করা
JFreeChart combinedChart = new JFreeChart(
"Combined Domain Category Plot",
JFreeChart.DEFAULT_TITLE_FONT,
combinedPlot,
false
);
// চার্ট প্যানেল তৈরি করা
ChartPanel chartPanel = new ChartPanel(combinedChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame এ CombinedChart দেখানো
JFrame frame = new JFrame();
frame.setContentPane(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
ব্যাখ্যা:
- CombinedDomainCategoryPlot ব্যবহার করে দুটি চার্ট (একটি Bar Chart এবং একটি Line Chart) একত্রিত করা হয়েছে।
- add() পদ্ধতি ব্যবহার করে প্রতিটি চার্টের প্লট আলাদাভাবে যোগ করা হয়েছে। এটি একটি কম্বাইন্ড চার্ট তৈরি করবে যেখানে এক্স-অক্ষ একই থাকবে কিন্তু দুটি বিভিন্ন চার্ট হবে।
CombinedRangeXYPlot
CombinedRangeXYPlot ব্যবহার করা হয় একাধিক XYPlot একত্রিত করার জন্য, যেখানে সমস্ত চার্ট একই ওয়াই-অক্ষ (Y-axis) শেয়ার করে। এটি সাধারণত XY Series, Scatter Plots, বা Time Series চার্টে ব্যবহৃত হয়। এটি একাধিক ডেটাসেট বা চার্টের ভিউ একত্রিত করতে সাহায্য করে।
CombinedRangeXYPlot উদাহরণ
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CombinedRangeXYPlot;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import javax.swing.*;
public class CombinedRangeXYPlotExample {
public static void main(String[] args) {
// প্রথম XY ডেটাসেট তৈরি করা
XYSeries series1 = new XYSeries("Series 1");
series1.add(1.0, 1.0);
series1.add(2.0, 4.0);
series1.add(3.0, 9.0);
XYSeriesCollection dataset1 = new XYSeriesCollection(series1);
// দ্বিতীয় XY ডেটাসেট তৈরি করা
XYSeries series2 = new XYSeries("Series 2");
series2.add(1.0, 2.0);
series2.add(2.0, 5.0);
series2.add(3.0, 7.0);
XYSeriesCollection dataset2 = new XYSeriesCollection(series2);
// প্রথম XYChart তৈরি করা
JFreeChart chart1 = ChartFactory.createXYLineChart(
"XY Line Chart 1", // চার্টের শিরোনাম
"X", // এক্স-অক্ষের নাম
"Y", // ওয়াই-অক্ষের নাম
dataset1, // প্রথম ডেটাসেট
org.jfree.chart.plot.PlotOrientation.VERTICAL,
true,
true,
false
);
// দ্বিতীয় XYChart তৈরি করা
JFreeChart chart2 = ChartFactory.createXYLineChart(
"XY Line Chart 2", // চার্টের শিরোনাম
"X", // এক্স-অক্ষের নাম
"Y", // ওয়াই-অক্ষের নাম
dataset2, // দ্বিতীয় ডেটাসেট
org.jfree.chart.plot.PlotOrientation.VERTICAL,
true,
true,
false
);
// CombinedRangeXYPlot তৈরি করা
CombinedRangeXYPlot combinedPlot = new CombinedRangeXYPlot(chart1.getXYPlot().getRangeAxis());
combinedPlot.add(chart1.getXYPlot(), 1); // প্রথম XYPlot যোগ করা
combinedPlot.add(chart2.getXYPlot(), 1); // দ্বিতীয় XYPlot যোগ করা
// CombinedChart তৈরি করা
JFreeChart combinedChart = new JFreeChart(
"Combined Range XY Plot",
JFreeChart.DEFAULT_TITLE_FONT,
combinedPlot,
false
);
// চার্ট প্যানেল তৈরি করা
ChartPanel chartPanel = new ChartPanel(combinedChart);
chartPanel.setPreferredSize(new java.awt.Dimension(800, 600));
// JFrame এ CombinedChart দেখানো
JFrame frame = new JFrame();
frame.setContentPane(chartPanel);
frame.pack();
frame.setVisible(true);
}
}
ব্যাখ্যা:
- CombinedRangeXYPlot ব্যবহার করে দুটি XYPlot (যেখানে এক্স-অক্ষ এবং ওয়াই-অক্ষ আলাদা) একত্রিত করা হয়েছে, এবং add() পদ্ধতি ব্যবহার করে চার্টের প্লট যোগ করা হয়েছে।
- XYSeriesCollection ব্যবহার করে XYSeries তৈরি করা হয়েছে, যা X এবং Y মানকে সংজ্ঞায়িত করে।
CombinedDomainCategoryPlot এবং CombinedRangeXYPlot এর মধ্যে পার্থক্য
- CombinedDomainCategoryPlot:
- CategoryPlot এর জন্য ব্যবহৃত হয়।
- একাধিক CategoryPlot (যেমন, Bar Chart, Line Chart) একত্রিত করা হয় যেখানে সব চার্টের ডোমেইন (X-axis) একই থাকে।
- সাধারণত Categorical Data বিশ্লেষণের জন্য ব্যবহৃত হয়।
- CombinedRangeXYPlot:
- XYPlot এর জন্য ব্যবহৃত হয়।
- একাধিক XYPlot (যেমন, XY Line Chart, Scatter Plot) একত্রিত করা হয়, যেখানে সব চার্টের রেঞ্জ (Y-axis) একই থাকে।
- সাধারণত XY Data বা Time Series Data বিশ্লেষণের জন্য ব্যবহৃত হয়।
সারসংক্ষেপ
JFreeChart এ CombinedDomainCategoryPlot এবং CombinedRangeXYPlot ব্যবহার করে আপনি একাধিক চার্ট একত্রিত করে একটি গ্রাফে প্রদর্শন করতে পারেন। CombinedDomainCategoryPlot একাধিক CategoryPlot প্লটকে একত্রিত করে, যেখানে এক্স-অক্ষ এক থাকে, এবং CombinedRangeXYPlot একাধিক XYPlot প্লটকে একত্রিত করে, যেখানে ওয়াই-অক্ষ এক থাকে। এই ধরনের প্লট ব্যবহার করে আপনি একাধিক ডেটাসেটের তুলনা করতে পারেন এবং একটি গ্রাফে তাদের সম্পর্ক বিশ্লেষণ করতে পারেন।
Read more