最近一个项目中用到JFreeChart,我的代码。 注释比较全,自己看。
后面带效果图
我的实现方法是 在 实现类 里调用 专用来生成统计图 的方法。
参数传过的是来用于生成统计图的数值。
返回所生成图片的名称
package com.zhh.util;
import java.awt.Color;
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.DefaultCategoryDataset;
import com.brief.pojo.InfeNumDTO;
import com.brief.pojo.TranMsg;
/*
*author zhh
*/
public class CreatePic {
/*
* 升降比的柱形图
* 参数indList<InfeNumDTO> ind.infeName=病名 ind.infeNum=升降比*10000(转成int型)
* tmsg.nameX x轴名称 tmsg.nameY y轴名字 msg date
* return 方法所生成图片的名称
*/
public String getBarChart(List<InfeNumDTO> indList, TranMsg tmsg) {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Iterator<InfeNumDTO> it = indList.iterator();
while (it.hasNext()){
InfeNumDTO ind = it.next();
String key = ind.getInfeName();
Double value = Double.valueOf(ind.getInfeNum())/100;
if

本文介绍了使用 JFreeChart 在项目中生成条形统计图的代码实现,强调了在不同jar包版本下图表颜色可能出现变化的问题。通过在实现类中调用专门的方法并传入数值来生成图片,当使用 jfreechart-1.0.13.jar 时,统计图显示正常,而使用 jfreechart-1.0.9.jar 则出现全部为暗红色的异常。解决方案包括升级 jar 包到1.0.13版本或改用saveChartAsPNG方法保存图表。
最低0.47元/天 解锁文章
1258

被折叠的 条评论
为什么被折叠?



