JfreeChart(3)-------BarChart的简单使用

简介: 今天项目中用到了BarChart,其中的中文问题还是花了我比较多的时间的,所以就把这段代码记录下来,方便以后的查阅!感觉这个知识还真的是越用越活的,越用越熟的,用少了过段时间就忘了,用多了的话很长时间都记得!   private byte[] createChart(List data...

今天项目中用到了BarChart,其中的中文问题还是花了我比较多的时间的,所以就把这段代码记录下来,方便以后的查阅!感觉这个知识还真的是越用越活的,越
用越熟的,用少了过段时间就忘了,用多了的话很长时间都记得!

 

private byte[] createChart(List<Object[]> data, String title, String xtitle, String ytitle) {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		for (int i=0;i<data.size();i++) {
			Object[] objs = data.get(i);
			//由上知objs里面只含有两个元素,所以可以直接对它们进行取值;
			String name = (String)objs[0];
			long sumNumber = (Long)objs[1];
			dataset.addValue(sumNumber, name, name);
		}
		JFreeChart chart = ChartFactory.createBarChart3D(title, xtitle, ytitle, dataset, PlotOrientation.VERTICAL, true, true, false);
		//设置标题的字体,不设置中文会乱码
		chart.setTitle(new TextTitle(title,new Font("宋体",Font.BOLD,22)));
		
		CategoryPlot plot = (CategoryPlot) chart.getPlot();
		Font font = new Font("宋体",Font.BOLD,18);
		Font font2 = new Font("宋体", Font.PLAIN,16);
		plot.getRangeAxis().setLabelFont(font);//设置纵轴标签的字体,不设置中文会乱码
		plot.getDomainAxis().setLabelFont(font);//设置横轴的标题的字体
		plot.getDomainAxis().setTickLabelFont(font2);//设置X轴坐标上的字体
		chart.getLegend(0).setItemFont(font2);
//		File file = Util.getChartFile4Save(prefix);
		ByteArrayOutputStream out = new ByteArrayOutputStream();
		try {
//			ChartUtilities.saveChartAsJPEG(file, chart, 800, 600);
			ChartUtilities.writeChartAsJPEG(out, chart, 800, 600);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return out.toByteArray();
	}

 

目录
相关文章
|
4月前
|
前端开发 Shell API
强大的类excel插件,handsontable的简单应用
强大的类excel插件,handsontable的简单应用
225 1
|
2月前
|
Java 数据安全/隐私保护
Java无模版导出Excel 0基础教程
经常写数据导出到EXCEL,没有模板的情况下使用POI技术。以此作为记录,以后方便使用。 2 工具类 样式工具: 处理工具Java接口 水印工具 导出Excel工具类 3 测试代码 与实际复杂业务不同 在此我们只做模拟 Controller Service 4 导出测试 使用Postman进行接口测试,没接触过Postman的小伙伴可以看我这篇博客Postman导出excel文件保存为文件可以看到导出很成功,包括水印 sheet页名称自适应宽度。还有一些高亮……等功能可以直接搜索使用
Java无模版导出Excel 0基础教程
|
4月前
|
Android开发
windowbuilder如何使用
windowbuilder如何使用
|
10月前
|
SQL 开发框架 .NET
CodeSmith 简单使用和常用模板
CodeSmith 简单使用和常用模板
46 0
CodeSmith 简单使用和常用模板
|
前端开发 搜索推荐 Java
java swagger好看的ui界面
java swagger好看的ui界面
|
数据可视化 前端开发 搜索推荐
pyecharts第一节、环境安装与demo演示
pyecharts第一节、环境安装与demo演示
587 0
pyecharts第一节、环境安装与demo演示
|
iOS开发
iOS开发UI篇 - Quartz 2D简单使用
iOS开发UI篇 - Quartz 2D简单使用
iOS开发UI篇 - Quartz 2D简单使用