Java智能图表类库JChartLib使用介绍
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使用介绍的更多相关文章
- 美丽的Java图表类库
摘要 在使用java做后台站点的开发张,图表和报表功能都是不可或缺 的.本文推荐了8款最精彩实用的Java图表应用,大部分图表应用的功能都类似,主要在于界面的美观性和使用的灵活性上有一点高低. 正文 ...
- 8个华丽而实用的Java图表类库
8个华丽而实用的Java图表类库 转 https://www.300168.com/yidong/show-2744.html 核心提示:学习Java的同学注意了!!! 学习过程中遇到什么问题或者 ...
- Android图表类库:WilliamChart
WilliamChart是基于Views的Android图表类库,帮助开发者在Android应用中实现折线图.柱状图和堆叠柱状图.数值发生变化时图表也会以动画的效果发生变化. At the momen ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- 5个最顶级jQuery图表类库插件-Charting plugin
转载: http://www.cnblogs.com/chu888chu888/archive/2012/12/22/2828962.html 作者:Leonel Hilario翻译:Terry li ...
- Java SE/ME/EE的概念介绍
转自 Java SE/ME/EE的概念介绍 多数编程语言都有预选编译好的类库以支持各种特定的功能,在Java中,类库以包(package)的形式提供,不同版本的Java提供不同的包,以面向特定的应用. ...
- Java中基础类库使用
Java中基础类库: 在这里我仅仅介绍几种我个人觉得会常常使用的 1:Object类中的Clone机制仅仅是对对象进行浅层次的克隆,假设须要进行深层次的克隆的话那么就要自己写(详细Clone方法请參考 ...
- 三个常用的PHP图表类库
Jpgraph 只要把example中的require_once路径改了就放进来用吧,我下的是最新版的jpgraph-3.5.0b1,反正测试嘛,我记得跟3.0.7还是有差别的,把文件名都重新命名过了 ...
- Java静态检测工具/Java代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
随机推荐
- [Android]通知栏与操作栏的高度-State Bar & Navigation Bar
1.通知栏 public static int getStatusBarHeight() { Resources resources = Resources.getSystem(); int reso ...
- 第一百九十二节,jQuery EasyUI 使用
jQuery EasyUI 使用 学习要点: 1.引入必要的文件 2.加载 UI 组件的方式 3.使用 easyload.js 智能加载 4.Parser 解析器 本节课重点了解 EasyUI 的两种 ...
- .Net 单例模式(Singleton)
每台计算机可以有若干个打印机,但只能有一个Printer Spooler, 以避免两个打印作业同时输出到打印机中.每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业 ...
- 最详细的PHP flush()与ob
buffer ---- flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区 ...
- Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法
最近在研究Kettle 时出现启动时报错“A Java Exception has occurred.”的问题.刚开始没搞明白是什么原因,后来发现是jdk版本的问题.出现这个错误原因是 Kettle ...
- sql server数据库创建、删除,创建表,数据库的sql语句
create database test on primary -- 默认就属于primary文件组,可省略(/*--数据文件的具体描述--*/ name='test', -- 主数据文件的逻辑名称 ...
- 【BZOJ1812】[Ioi2005]riv 树形DP
[BZOJ1812][Ioi2005]riv Description 几乎整个Byteland王国都被森林和河流所覆盖.小点的河汇聚到一起,形成了稍大点的河.就这样,所有的河水都汇聚并流进了一条大河, ...
- EasyNVR互联网监控直播分发出RTMP、HLS、HTTP-FLV视频流说明介绍
背景需求 需求比视频流协议更重要,你想要什么,什么可以满足你的需求,这个很大程度上是需求在前,选择使用什么视频流是比较靠后的. 目前Easy系列互联网直播服务将全线支持HLS.RTMP.HTP-FLV ...
- 关于jquery的取消阻止默认事件
最近帮朋友做个东西,整个屏幕有一个遮罩层,但是这个遮罩层能滑动,于是百度了一下,返现,用 $('body').bind("touchmove",function(e){ e.pre ...
- 参数Slave_IO_Running和Slave_SQL_Running的状态值解析
Slave_SQL_Running: No mysql同步故障解决方法 2010-02-21 16:31:30 标签:mysql 双机 同步 数据库 休闲 原创作品,允许转载,转载时请务必以超链接形 ...