Horizontal Bar Chart Example using JFreeChart

This Example shows you how
to create a
Horizontal
bar chart using JFreeChart. This
example showing you match
score of two teams .
Code Description:
In the code given below we have extended class ApplicationFrame to
create a frame and also pass a string value to the constructor of
ApplicationFrame class by using super keyword that will be name of the
created frame.
Some
methods that are
used in this code :
pack():
This
method invokes the layout manager.
centerFrameOnScreen():
This method is used for the position of the frame in the
middle of the screen.
setVisible():
This method is used for display frame on the screen.
createCategoryDataset():
This
method is used to create the instance of CategoryDataset Interface and
that contains a copy of the data in an array.
createBarChart():
This method is used to create bar chart for given values. It takes title, category axis label, value axis
label, dataset, Plot Orientation, legend, tool tips and urls as parameter.
setBackgroundPaint(): This method is used to set the
paint used to fill the chart background.
BarChartDemo2:
import java.awt.Color;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class BarChartDemo2 extends ApplicationFrame {
public BarChartDemo2(String title) {
super(title);
CategoryDataset dataset = createDataset();
JFreeChart chart = createChart(dataset);
ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(600, 350));
setContentPane(chartPanel);
}
private CategoryDataset createDataset() {
final double[][] data = new double[][] {
{4,2,-1,-3,-3,-1,2,4,2},
{3,1,-2,-4,-2,1,3,3,1}
};
return DatasetUtilities.createCategoryDataset("Team ", "Match ", data);
}
private JFreeChart createChart(final CategoryDataset dataset) {
final JFreeChart chart = ChartFactory.createBarChart(
"Score Bord", "Match", "Score", dataset,
PlotOrientation.HORIZONTAL, true, false, false);
chart.setBackgroundPaint(new Color(249,231,236));
CategoryPlot plot = chart.getCategoryPlot();
plot.getRenderer().setSeriesPaint(0, new Color(128, 0, 0));
plot.getRenderer().setSeriesPaint(1, new Color(0, 0, 255));
return chart;
}
public static void main(final String[] args) {
BarChartDemo2 chart = new BarChartDemo2("Score Bord");
chart.pack();
RefineryUtilities.centerFrameOnScreen(chart);
chart.setVisible(true);
}
}
|
Output:
Download
code

|