Java智能图表类库JChartLib使用介绍

http://www.codeceo.com/article/java-jchartlib.html

JChartLib是一款基于Java的智能图表类库,JChartLib不仅有着漂亮的外观,而且支持图表坐标数值的自动调整,这样我们在图表中显示数值就比较简单,不用我们计算处理。JChartLib同样支持线型图、柱状图和饼状图,而且可以自定义外观样式。另外图表可直接在 Swing 中使用,可保持为 jpg 和 png 格式图片。

JChartLib的预览图

Linechart Linechart with float values Linechart with negative values Barchart Areachart Piechart

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 } }

JChartLib的功能介绍就到这里,如有疑问,可以访问文末的官方网站,或者留言讨论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值