使用Jfree实现吧条形图,java代码
使用Jfree实现吧条形图,java代码。它可能在生产的报告被常用,之后,主动生成自己的代码,可以随意查看。自由地配置图表的各种性质,为了达到他们的要求和目标
package test1; import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.chart.labels.*;
import org.jfree.data.category.*; import java.awt.*;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; import org.jfree.ui.*;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.servlet.*;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.general.DatasetUtilities; import com.dao.DBConnection; public class JfreeChart { public static void main(String[] args) throws IOException, SQLException {
// TODO Auto-generated method stub
double[][] data = new double[][] {
{ 1230, 1110, 1120, 1210, 720, 750, 860, 800, 1230, 1110, 1120,
1210, 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720,
750, 860, 800 },
{ 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720, 750, 860,
800, 720, 750, 860, 800, 1230, 1110, 1120, 1210, 720,
750, 860, 800 } };
String[] rowKeys = { "a", "b" };
String[] columnKeys = { "0", "1", "2", "3", "4", "5", "6", "7", "8",
"9", "10", "11", "12", "13", "14", "15", "16", "17", "18",
"19", "20", "21", "22", "23" };
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
rowKeys, columnKeys, data);
JFreeChart chart = ChartFactory.createBarChart(getNextDay() + "日交易量",
"时间(/h)", "交易量", dataset, PlotOrientation.VERTICAL, true, true,
false);
CategoryPlot plot = chart.getCategoryPlot();
// 设置网格背景颜色
plot.setBackgroundPaint(Color.white);
// 设置网格竖线颜色
plot.setDomainGridlinePaint(Color.pink);
// 设置网格横线颜色
plot.setRangeGridlinePaint(Color.pink); // 显示每一个柱的数值,并改动该数值的字体属性
BarRenderer renderer = new BarRenderer();
// renderer.setBaseItemLabelGenerator(new
// StandardCategoryItemLabelGenerator());
// renderer.setBaseItemLabelsVisible(true); // 默认的数字显示在柱子中,通过例如以下两句可调整数字的显示
// 注意:此句非常关键,若无此句,那数字的显示会被覆盖,给人数字没有显示出来的问题
// renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
// ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
// renderer.setItemLabelAnchorOffset(10D); // 设置每一个地区所包括的平行柱的之间距离
renderer.setItemMargin(0.05);
plot.setRenderer(renderer); // 设置地区、销量的显示位置
// 将下方的“标注”放到上方
// plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
// 将默认放在左边的“销量”放到右方
// plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
drawToOutputStream("src//a.jpg", chart);
} /**
* step3: 输出图表到指定的磁盘
*
* @param destPath
* @param chart
*/
public static void drawToOutputStream(String destPath, JFreeChart chart) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(destPath);
// ChartUtilities.writeChartAsJPEG(
ChartUtilities.writeChartAsPNG(fos, // 指定目标输出流
chart, // 图表对象
1000, // 宽
500, // 高
null); // ChartRenderingInfo信息
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} public static String getNextDay() {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1); // 得到前一天
Date date = calendar.getTime();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// System.out.println(df.format(date));
return df.format(date);
}
}
显示生成结果:
版权声明:本文博主原创文章。博客,未经同意不得转载。
使用Jfree实现吧条形图,java代码的更多相关文章
- 用Jfree实现条形柱状图表,java代码实现
用Jfree实现条形柱状图表,java代码实现.可经经常使用于报表的制作,代码自己主动生成后能够自由查看.能够自由配置图表的各个属性,用来达到自己的要求和目的 package test1; impor ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- 怎样编写高质量的java代码
代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍.也请有过代码质量相关经验的朋友 ...
- 数据结构笔记--二叉查找树概述以及java代码实现
一些概念: 二叉查找树的重要性质:对于树中的每一个节点X,它的左子树任一节点的值均小于X,右子树上任意节点的值均大于X. 二叉查找树是java的TreeSet和TreeMap类实现的基础. 由于树的递 ...
- java代码的初始化过程研究
刚刚在ITeye上看到一篇关于java代码初始化的文章,看到代码我试着推理了下结果,虽然是大学时代学的知识了,没想到还能做对.(看来自己大学时掌握的基础还算不错,(*^__^*) 嘻嘻……)但 ...
- JDBC——Java代码与数据库链接的桥梁
常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:j ...
- 利用Java代码在某些时刻创建Spring上下文
上一篇中,描述了如何使用Spring隐式的创建bean,但当我们需要引进第三方类库添加到我们的逻辑上时,@Conponent与@Autowired是无法添加到类上的,这时,自动装配便不适用了,我们需要 ...
- lombok 简化java代码注解
lombok 简化java代码注解 安装lombok插件 以intellij ide为例 File-->Setting-->Plugins-->搜索"lombok plug ...
- 远程debug调试java代码
远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...
随机推荐
- 【Struts2学习笔记(11)】对action的输入校验和XML配置方式实现对action的全部方法进行输入校验
在struts2中,我们能够实现对action的全部方法进行校验或者对action的指定方法进行校验. 对于输入校验struts2提供了两种实现方法: 1. 採用手工编写代码实现. 2. 基于XML配 ...
- [LeetCode]Pascal's Triangle II
题目:给定一个行索引index,返回帕斯卡三角形第index层的三角形 算法:生成index层帕斯卡三角形,并返回第index层三角形 public class Solution { public L ...
- hdu1876(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1876 题意:问机器人到达终点的过程中最多有几次完全消耗完能量,消耗完这么多次能量的方式有几种. 分析: ...
- UVA 11090 - Going in Cycle!!(Bellman-Ford)
UVA 11090 - Going in Cycle!! option=com_onlinejudge&Itemid=8&page=show_problem&category= ...
- MD5加密算法的实现
//////////////////////////////////////////////////////////////////// /* md5.h ...
- HDU3537-Daizhenyang's Coin(博弈SG-打表)
<span style="color: green; font-family: Arial; font-size: 12px; background-color: rgb(255, 2 ...
- GIT分支管理是一门艺术(转)
英文原文:http://www.nvie.com/posts/a-successful-git-branching-model/ 原文作者:Vincent Driessen 本文经Linux大棚博主总 ...
- 一个简单而经典的RTX51 Tiny应用实例
关于RTX51 Tiny嵌入式实时操作系统的描写叙述请參考本人的上一篇博文(RTX51 Tiny实时操作系统学习笔记-初识RTX51 Tiny). 本篇博文.我将通过一个实例代码,带大家深入了解一下R ...
- JAVA insert() 插入字符串 reverse() 颠倒 delete()和deleteCharAt() 删除字符 replace() 替换 substring() 截取子串
insert() 插入字符串 StringBuffer insert(int index,String str) StringBuffer insert(int index,char ch) Stri ...
- ECSHOP分类页面筛选功能(按分类下子分类和品牌筛选)
其实分类页面里面本来就有相关的品牌.属性.分类的筛选功能在category.php和模板加上相应的功能即可 1.读出当前分类的所有下级分类 $chlidren_category = $GLOBALS[ ...