Java圖表類庫JChartLib使用介紹
JChartLib是 一款基于Java的智能圖表類庫,JChartLib不僅有著漂亮的外觀,而且支持圖表坐標數值的自動調整,這樣我們在圖表中顯示數值就比較簡單,不用我 們計算處理。JChartLib同樣支持線型圖、柱狀圖和餅狀圖,而且可以自定義外觀樣式。另外圖表可直接在 Swing 中使用,可保持為 jpg 和 png 格式圖片。
JChartLib的預覽圖

JChartLib的使用方法
JChartLib線形圖繪制的Java代碼如下:
/*
* JChartLib Demo App for a Linechart
* @author Silvio Schneider
/
import com.bitagentur.chart.JChartLibLinechart;
import com.bitagentur.data.JChartLibDataSet;
import com.bitagentur.data.JChartLibSerie;
import com.bitagentur.renderer.JChartLibPanel;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
/*
* A simple demonstration application showing how to create a line chart
/
public class JChartLibApp extends JFrame implements WindowListener {
/**
* Creates a new Application Frame
*/
public JChartLibApp() {
super("JChartLib Demo Appllication");
final JChartLibDataSet dataset = createDataset();
final JChartLibBaseChart chart = createChart(dataset);
final JChartLibPanel chartPanel = new JChartLibPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return a sample dataset.
*/
private JChartLibDataSet createDataset() {
//Dataseries can be added with int arrays
int[] values1 = new int[5];
values1[0] = 1;
values1[1] = 3;
values1[2] = 4;
values1[3] = 7;
values1[4] = 2;
//or by generating a Dataserie object
JChartLibSerie values2 = new JChartLibSerie("Banana");
values2.addValue(5);
values2.addValue(4);
values2.addValue(2);
values2.addValue(6);
values2.addValue(2);
final JChartLibDataSet dataset = new JChartLibDataSet();
dataset.addDataSerie("Apple", values1); //adds the apples
dataset.addDataSerie(values2); //adds the bananas
return dataset;
}
/**
* Creates a chart
*
* @param dataset the data for the chart.
* @return a new chart
*/
private JChartLibBaseChart createChart(final JChartLibDataSet dataset) {
// create the chart with title and axis names
final JChartLibLinechart chart = new JChartLibLinechart(
"Fruits are good", // chart title
"Time goes by", // x axis text
"Number of Fruits", // y axis text
dataset, // data
true // legend on
);
return chart;
}
/**
* Main method - DEMO Application for JChartLib
*
* @param args the command line arguments
*/
public static void main(final String[] args) {
System.out.println("JChartLibApp started");
final JChartLibApp app = new JChartLibApp();
app.addWindowListener(app);
app.pack();
app.setVisible(true);
}
@Override
public void windowOpened(WindowEvent e) {
//Nothing to do
}
@Override
public void windowClosing(WindowEvent e) {
//Exit and goodby
if (e.getWindow() == this) {
dispose();
System.out.println("Thanks for using the JChartLibApp");
System.exit(0);
}
}
@Override
public void windowClosed(WindowEvent e) {
//Nothing to do
}
@Override
public void windowIconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeiconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowActivated(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeactivated(WindowEvent e) {
//Nothing to do
}
}
JChartLib柱形圖繪制的Java代碼如下:
/*
* JChartLib Demo App for a Barchart
* @author Silvio Schneider
/
import com.bitagentur.chart.JChartLibBarchart;
import com.bitagentur.data.JChartLibDataSet;
import com.bitagentur.data.JChartLibSerie;
import com.bitagentur.renderer.JChartLibPanel;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
/*
* A simple demonstration application showing how to create a bar chart
/
public class JChartLibApp extends JFrame implements WindowListener {
/**
* Creates a new Application Frame
*/
public JChartLibApp() {
super("JChartLib Demo Appllication");
final JChartLibDataSet dataset = createDataset();
final JChartLibBarchart chart = createChart(dataset);
final JChartLibPanel chartPanel = new JChartLibPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return a sample dataset.
*/
private JChartLibDataSet createDataset() {
//Dataseries can be added with int arrays
int[] values1 = new int[5];
values1[0] = 1;
values1[1] = 3;
values1[2] = 4;
values1[3] = 7;
values1[4] = 2;
//or by generating a Dataserie object
JChartLibSerie values2 = new JChartLibSerie("Banana");
values2.addValue(5);
values2.addValue(4);
values2.addValue(2);
values2.addValue(6);
values2.addValue(2);
final JChartLibDataSet dataset = new JChartLibDataSet();
dataset.addDataSerie("Apple", values1); //adds the Apples
dataset.addDataSerie(values2); //adds the Bananas
return dataset;
}
/**
* Creates a chart
*
* @param dataset the data for the chart.
* @return a new chart
*/
private JChartLibBaseChart createChart(final JChartLibDataSet dataset) {
// create the chart with title and axis names
final JChartLibBarchart chart = new JChartLibBarchart(
"Fruits are good", // chart title
"Time goes by", // x axis text
"Number of Fruits", // y axis text
dataset, // data
true // legend on
);
return chart;
}
/**
* Main method - DEMO Application for JChartLib
*
* @param args the command line arguments
*/
public static void main(final String[] args) {
System.out.println("JChartLibApp started");
final JChartLibApp app = new JChartLibApp();
app.addWindowListener(app);
app.pack();
app.setVisible(true);
}
@Override
public void windowOpened(WindowEvent e) {
//Nothing to do
}
@Override
public void windowClosing(WindowEvent e) {
//Exit and goodby
if (e.getWindow() == this) {
dispose();
System.out.println("Thanks for using the JChartLibApp");
System.exit(0);
}
}
@Override
public void windowClosed(WindowEvent e) {
//Nothing to do
}
@Override
public void windowIconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeiconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowActivated(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeactivated(WindowEvent e) {
//Nothing to do
}
}
JChartLib餅狀圖繪制的Java代碼如下:
/*
* JChartLib Demo App for a piechart
* @author Silvio Schneider
/
import com.bitagentur.chart.JChartLibPiechart;
import com.bitagentur.data.JChartLibDataSet;
import com.bitagentur.data.JChartLibSerie;
import com.bitagentur.renderer.JChartLibPanel;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.Random;
import javax.swing.JFrame;
/
* A simple demonstration application showing how to create a pie chart.
/
public class JChartLibApp_piechart extends JFrame implements WindowListener {
/**
* Creates a new Application Frame
*/
public JChartLibApp_piechart() {
super("JChartLib Demo Appllication");
final JChartLibDataSet dataset = createDataset();
final JChartLibPiechart chart = createChart(dataset);
final JChartLibPanel chartPanel = new JChartLibPanel(chart);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(chartPanel);
}
/**
* Creates a sample dataset.
*
* @return a sample dataset.
*/
private JChartLibDataSet createDataset() {
//or by generating a Dataserie object
JChartLibSerie values1 = new JChartLibSerie("Fruits");
values1.addValue("Apple", 1);
values1.addValue("Banana", 1);
values1.addValue("Orange", 1);
values1.addValue("Tomato", 1);
final JChartLibDataSet dataset = new JChartLibDataSet();
dataset.addDataSerie(values1); //adds the Apples
return dataset;
}
/**
* Creates a chart
*
* @param dataset the data for the chart.
* @return a new chart
*/
private JChartLibPiechart createChart(final JChartLibDataSet dataset) {
// create the chart with title and axis names
final JChartLibPiechart chart = new JChartLibPiechart(
"yammi fruitpie", // chart title
"", // x axis text
"", // y axis text
dataset // data
);
return chart;
}
/**
* Main method - DEMO Application for JChartLib
*
* @param args the command line arguments
*/
public static void main(final String[] args) {
System.out.println("JChartLibApp started");
final JChartLibApp_piechart app = new JChartLibApp_piechart();
app.addWindowListener(app);
app.pack();
app.setVisible(true);
}
@Override
public void windowOpened(WindowEvent e) {
//Nothing to do
}
@Override
public void windowClosing(WindowEvent e) {
//Exit and goodby
if (e.getWindow() == this) {
dispose();
System.out.println("Thanks for using the JChartLibApp");
System.exit(0);
}
}
@Override
public void windowClosed(WindowEvent e) {
//Nothing to do
}
@Override
public void windowIconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeiconified(WindowEvent e) {
//Nothing to do
}
@Override
public void windowActivated(WindowEvent e) {
//Nothing to do
}
@Override
public void windowDeactivated(WindowEvent e) {
//Nothing to do
}
}來自:http://原網站已經失效/article/java-jchartlib.html 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!