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代码规范和质量检查简单介绍(转)
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码 ...
随机推荐
- Eclipse 添加书签
Eclipse 添加书签 关于书签 Eclipse 中可以在编辑器的任意一行添加书签. 您可以使用书签作为提示信息,或者使用书签快速定位到文件中的指定的行. 添加书签 如果你想设置书签,你只需要在垂直 ...
- QQ宠物怀念版H5
<QQ宠物>相伴十三载 哇!明信片邮到了!!开心ヽ(○^㉨^)ノ♪ 大乐斗Ⅱ 怀念一波...
- ios --跳转到支付宝
//跳转到支付宝 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request nav ...
- VC++ 汇编相关的东西
Tips: VC++在新建一个.asm文件后必须重新导入project中才能进行编译. 下面是一个汇编与C++相互调用的例子: Main.cpp #include <stdio.h> #i ...
- tomcat NIO配置
1.tomcat NIO配置 今天在查看日志时发现tomcat的Socket连接方式为bio,于是我想既然有bio那肯定有nio.果然,一查就发现tomcat在6.0之后就可以配置nio的方式.nio ...
- Servlet注解
在Servle2.5能够使用注解 在web.xml的<web-app>标签下有一属性metadata-complete="true"在设置true时,Servlet中的 ...
- Activity四种启动方式
Activity启动方式有四种,分别是: standardsingleTopsingleTasksingleInstance 可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大 ...
- jsx编译器 atom
开始学习react es6 觉得没有合适的编译器.于是找到了个Atom. 官网 https://atom.io/ 下载安装. 双击运行即可完成安装. 安装后点击 file>setting> ...
- yii2.0 干货
Yii2 干货集,欢迎提交 Pull Requests.(提交过来的开源项目最好是你用过的,并且觉得好用的) Docs 文档 Yii Framework 2.0 类参考手册 Yii Framework ...
- 李飞飞、吴恩达、Bengio等人的15大顶级深度学习课程
目前,深度学习和深度强化学习已经在实践中得到了广泛的运用.资源型博客sky2learn整理了15个深度学习和深入强化学习相关的在线课程,其中包括它们在自然语言处理(NLP),计算机视觉和控制系统中的应 ...