欢迎光临
我们一直在努力

JFreeChart解决中文乱码问题

jfreechart-chinese-luanma.png

比如柱状图,柱状图的柱子说明文字中文情况下乱码,解决代码如下:

// JFreeChart主题设置,解决中文乱码
StandardChartTheme standardChartTheme = new StandardChartTheme("CN");//这里的"name"参数;是什么意思我也不知道,反正这样可以用
standardChartTheme.setLargeFont(new java.awt.Font("楷体", Font.BOLD, 12));//可以改变轴向的字体
standardChartTheme.setRegularFont(new java.awt.Font("宋体", Font.BOLD, 12));//可以改变图例的字体
standardChartTheme.setExtraLargeFont(new java.awt.Font("隶书", Font.BOLD, 12));//可以改变图标的标题字体
ChartFactory.setChartTheme(standardChartTheme);//Theme.getTheme()

DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.setValue(10,"a","管理人员");
dataset.setValue(20,"b","市场人员");
dataset.setValue(40,"c","开发人员");
dataset.setValue(15,"d","其他人员");
JFreeChart chart = ChartFactory.createBarChart("年度单位整体落实情况排名", null, null, dataset, PlotOrientation.VERTICAL, false, false, false);
chart.getTitle().setFont(new java.awt.Font("隶书", Font.BOLD, 26));//设置title标题
chart.setBackgroundPaint(new Color(238, 238, 255));//设置背景色

CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();//图本身
CategoryAxis categoryaxis = categoryplot.getDomainAxis();
categoryaxis.setLabelFont(new java.awt.Font("黑体", Font.ITALIC, 18)); // 设置时字体(横轴)


//将freechart柱状图添加到pdf文档中
ChartUtilities.saveChartAsPNG(new File(reportImgPath + parameters.get("srYear")  + ".png"), chart, 800, 500);
Image image = Image.getInstance(reportImgPath + parameters.get("srYear") + ".png");
image.setAlignment(Image.ALIGN_CENTER);
image.scaleAbsolute(600, 300);
document.add(image);

上面的代码加上主题设置一段代码中文乱码就解决了。

赞(0) 打赏
未经允许不得转载:Ddmit » JFreeChart解决中文乱码问题

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册