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

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

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

Java智能图表类库JChartLib使用介绍的更多相关文章

  1. 美丽的Java图表类库

    摘要 在使用java做后台站点的开发张,图表和报表功能都是不可或缺 的.本文推荐了8款最精彩实用的Java图表应用,大部分图表应用的功能都类似,主要在于界面的美观性和使用的灵活性上有一点高低. 正文 ...

  2. 8个华丽而实用的Java图表类库

    8个华丽而实用的Java图表类库 转 https://www.300168.com/yidong/show-2744.html   核心提示:学习Java的同学注意了!!! 学习过程中遇到什么问题或者 ...

  3. Android图表类库:WilliamChart

    WilliamChart是基于Views的Android图表类库,帮助开发者在Android应用中实现折线图.柱状图和堆叠柱状图.数值发生变化时图表也会以动画的效果发生变化. At the momen ...

  4. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

  5. 5个最顶级jQuery图表类库插件-Charting plugin

    转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li ...

  6. Java SE/ME/EE的概念介绍

    转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...

  7. Java中基础类库使用

    Java中基础类库: 在这里我仅仅介绍几种我个人觉得会常常使用的 1:Object类中的Clone机制仅仅是对对象进行浅层次的克隆,假设须要进行深层次的克隆的话那么就要自己写(详细Clone方法请參考 ...

  8. 三个常用的PHP图表类库

    Jpgraph 只要把example中的require_once路径改了就放进来用吧,我下的是最新版的jpgraph-3.5.0b1,反正测试嘛,我记得跟3.0.7还是有差别的,把文件名都重新命名过了 ...

  9. Java静态检测工具/Java代码规范和质量检查简单介绍(转)

    静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...

随机推荐

  1. Help Hanzo lightof 1197 求一段区间内素数个数,[l,r] 在 [1,1e9] 范围内。r-l<=1e5; 采用和平常筛素数的方法。平移区间即可。

    /** 题目:Help Hanzo lightof 1197 链接:https://vjudge.net/contest/154246#problem/M 题意:求一段区间内素数个数,[l,r] 在 ...

  2. HTML5之本地存储localstorage

    Web Storage是HTML5引入的一个非常重要的功能,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Sto ...

  3. Eclipse中关于JRE System Library、Web App Libraries的疑惑

    当我们在Eclipse中建立java的web工程时,会产生JRE System Library和Referenced Libraries,Web App Libraries不生成,下面会 简要说明一下 ...

  4. JSP接口浅析

    一.tree型关系 JSP页面继承了org.apache.jasper.runtime.HttpJspBase抽象类并实现了org.apache.jasper.runtime.JspSourceDep ...

  5. 循环杀死Mysql sleep进程脚本

    #!/bin/sh while : do n=`mysqladmin processlist -uadmin -p***|grep -i sleep |wc -l` date=`date +%Y%m% ...

  6. 1501: 货币系统(money)

    1501: 货币系统(money) 时间限制: 1 Sec  内存限制: 64 MB 提交: 33  解决: 12 [提交][状态][讨论版] 题目描述 母牛们不但创建了它们自己的政府,而且选择建立了 ...

  7. HDOJ 5044 Tree

    树链剖分裸题. . .. 又要扩栈又要输入挂还卡格式....真无语 Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 6553 ...

  8. LeetCode Problem 136:Single Number

    描述:Given an array of integers, every element appears twice except for one. Find that single one. Not ...

  9. (int)()和int()强制类型转换

    (int)()这个是c语言的强制转换,众所知周 int(),这种理解靠谱点 Class A { A(int i){} } 调用int类型的构造函数然后转换的 其实都可以转换.

  10. iOS学习笔记(六)——ViewController

    ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController ...