今天项目中用到了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();
}
分享到:
相关推荐
jfreechart-1.0.19压缩包中有一个jfreechart-1.0.19-demo.jar,里面演示了各种图表的制作案例,包括BarChart、LineChart、PieChart、TimeSeriesChart、XYSeries等等,共309个例子,现开放源码,请各位下载,欢迎交流...
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
JFreeChart supports pie charts (2D and 3D), bar charts (horizontal and vertical, regular and stacked), line charts, scatter plots, time series charts, high-low-open-close charts, candlestick plots, ...
JFreeChart类: void setAntiAlias(boolean flag) 字体模糊边界 void setBackgroundImage(Image image) 背景图片 void setBackgroundImageAlignment(int alignment) 背景图片对齐方式(参数常量在org.jfree.ui.Align...
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...
JFreeChart 项目从7年前便开始了,起始于 2000 年1月, 已经有四五万开发者已经使用了JFreeChart。JFreeChart 支持很多种图形文件格式: JPEG, GIF, PDF, EPS and SVG. 这对于java开发者是一个很好的资源。 ...
JFreeChart 项目从7年前便开始了,起始于 2000 年1月, 已经有四五万开发者已经使用了JFreeChart。JFreeChart 支持很多种图形文件格式: JPEG, GIF, PDF, EPS and SVG. 这对于java开发者是一个很好的资源。
JFreeChart是JAVA平台上的一个开放的图表绘制类库,它是目前比较流行的Java Chart API,而且是一个开源项目。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成...
JFreeChart是JAVA平台上的一个开放的图表绘制类库,它是目前比较流行的Java Chart API,而且是一个开源项目。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成...
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...
Chart2D is a Java library for visualizing quantitative data using two-dimensional charts. It supports pie charts, line charts, bar charts, dot (or scatter plot) charts, combination charts, and ...
次实例是Struts2和JFreeChar的整合,下载后解压导入到ide中,输入...或者http://localhost:8080/Struts2_JFreeChart/jfreechart/barchart.action就能看到相应的效果
JSFreeChart 概述 JSFreeChart是一个用 ... * multiple chart types supported out-of-the-box: bar charts (regular and stacked), scatter plots, line charts and histograms; * clean separation between data sou
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。...