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. dropdown多选下拉框

    写好了一个dropdown多选框.直接粘下面代码就能用 效果展示: temp2.jsp <%@page import="com.util.LabelCacheManager" ...

  2. fedora上安装sun jdk

    系统被来就有openjdk,但是开发工具需要sun的jdk,于是下载一个压缩包并解压到一个位置.使用alternative命令切换 alternatives --.0_79/jre/bin/java ...

  3. java string 首字母大小写方法

    String字符串需要进行首字母大小写改写,查询google,就是将首字母截取,转化大小写 + 首字母后面字符串 //首字母小写 public static String captureName(St ...

  4. mysql 年龄计算(根据生日)

    生日(DATE) 计算方法1: ))) 计算方法2: year( from_days( datediff( now( ), birthdate))) now() 当前时间,精确到秒 datediff( ...

  5. PHP POST, GET 参数过滤,预防sql注入函数

    1. 实际过滤函数 可适当修改其中的正则表示式 1 static public function filterWords(&$str) 2 { 3 $farr = array( 4 " ...

  6. Android开发:TableFixHeaders源码分析

    最近需要在android上的展示表格数据,在github上找到了TableFixHeaders(https://github.com/InQBarna/TableFixHeaders). 项目文件最主 ...

  7. Censor(KMP)

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her j ...

  8. C#关于AutoResetEvent的使用介绍----修正

    说明 之前在博客园看到有位仁兄发表一篇关于AutoResetEvent介绍,看了下他写的代码,看上去没什么问题,但仔细看还是能发现问题.下图是这位仁兄代码截图. 仁兄博客地址:http://www.c ...

  9. linux 终端操作快捷键

    熟练使用快捷键可以很大的提高效率,以下列出一些常用的快捷键命令方便随时查阅 1. 移动光标 Ctrl + a 标移到行首.它在多数文本编辑器和 Mozilla 的 URL 字段内可以使用.Ctrl + ...

  10. python基础里的那些为什么?

    一.执行python脚本的两种方式? 直接在解释器里编写并在解释器里执行 文件编写,并在终端通过 python 路径  这种方式执行 好,我们就以输出hello world这个例子来比较两种方式的不同 ...