The Importance of Sharing


Pada artikel sebelumnya saya membahas mengenai bagaimana caranya membuat grafik pie chart dengan menggunakan JFreechart.  Kali ini saya akan melanjutkannya dengan membuat bar chart atau grafik batang. Caranya hampir sama,  hanya bedanya pada saat kita akan membuat grafiknya. Data yang saya gunakan sama dengan data yang sebelumnya, cuma sekarang saya  mengelompokkannya dan membagi – baginya berdasarkan daerah dan tentu saja data ini bersifat fiktif.

Berikut kodenya :

/*
 * IF THERE ANY QUESTION.
 * PLEASE CONTACT ME AT.
 * "stop.drunk@gmail.com"
 */

package aryawiratama.barchart;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author Arya Wiratama
 */
public class BarChart extends JPanel{
 private JFreeChart barchart;
 private ChartPanel panel;
 public BarChart(){
 panel = createChart(createData());
 setLayout(new BorderLayout());
 add(panel,BorderLayout.CENTER);
 }
 private DefaultCategoryDataset createData(){
 DefaultCategoryDataset data = new DefaultCategoryDataset();
 data.addValue(300, "Surabaya", "Windows");
 data.addValue(500, "Surabaya","Linux");
 data.addValue(150,"Surabaya", "Lainnya");
 data.addValue(200, "Bali", "Windows");
 data.addValue(600, "Bali","Linux");
 data.addValue(100,"Bali", "Lainnya");
 data.addValue(250, "Semarang", "Windows");
 data.addValue(400, "Semarang","Linux");
 data.addValue(300,"Semarang", "Lainnya");
 return data;
 }

 private ChartPanel createChart(DefaultCategoryDataset data) {
 barchart = ChartFactory.createBarChart3D("Data Pengguna Sistem Operasi di Beberapa Daerah", "Operating System", "Jumlah Pengguna", data, PlotOrientation.VERTICAL, true, true, false);
 barchart.setBackgroundPaint(new Color(135,206,250));
 CategoryPlot plot = (CategoryPlot) barchart.getPlot();
 plot.setNoDataMessage("Data Tidak ada");
 CategoryAxis axis = plot.getDomainAxis();
 axis.setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
 CategoryItemRenderer renderer = plot.getRenderer();
 renderer.setBaseItemLabelsVisible(true);
 BarRenderer barRenderer = (BarRenderer) renderer;
 barRenderer.setItemMargin(0.1D);
 barRenderer.setDrawBarOutline(true);
 return new ChartPanel(barchart);
 }

}

Selanjutnyaa drag class tersebut kedalam JFrame lalu running. Maka hasilnya akan seperti gambar dibawah ini.

About these ads

Comments on: "Membuat Grafik Bar Chart Menggunakan JFreeChart" (3)

  1. Mas,saya mau tnya kalo grafik batang dengan data inputan dari user (Bisa
    menggunakan jTable atau jTextfield). ? itu gmn cara ya?
    mohon beri pencerahan master.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: