`

JFreeChart生成中文乱码解决方案

阅读更多
在使用JFreeChart生成图表时候,图表里面的汉字是一个个的“口”,没有正常显示,很是郁闷,上网查找方案,有的说是jar包版本的问题,jfreechart1.0.10以后就会有乱码问题,建议使用1.0.10版本,但是我觉得既然都有新版本为什么不用,只是你没找到解决方案。下面提供的这种方法就可以解决,还能够灵活改变字体,岂不是很好的说:
import java.awt.Font;
import java.io.File;
import java.io.IOException;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

/*
 * 绘制柱状图
 */
public class Zhu {
	public static void main(String[] args) {
		try {
			// 设置字体,去除中文乱码
			StandardChartTheme sct = new StandardChartTheme("CN");
			sct.setExtraLargeFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));
			sct.setRegularFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));
			sct.setLargeFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));

			ChartFactory.setChartTheme(sct);
			// 构造数据
			DefaultCategoryDataset dataset = new DefaultCategoryDataset();
			dataset.addValue(100, "要求的程度等级", "责任心");
			dataset.addValue(200, "学生达到的等级", "责任心");
			dataset.addValue(200, "要求的程度等级", "进取心");
			dataset.addValue(300, "学生达到的等级", "进取心");
			dataset.addValue(400, "要求的程度等级", "好胜心");
			dataset.addValue(400, "学生达到的等级", "好胜心");
			/*
			 * public static JFreeChart createBarChart3D( java.lang.String
			 * title, 设置图表的标题 java.lang.String categoryAxisLabel, 设置分类轴的标示
			 * java.lang.String valueAxisLabel, 设置值轴的标示 CategoryDataset dataset,
			 * 设置数据 PlotOrientation orientation, 设置图表的方向 boolean legend,
			 * 设置是否显示图例 boolean tooltips,设置是否生成热点工具 boolean urls) 设置是否显示url
			 */
			JFreeChart chart = ChartFactory.createBarChart3D("统计分析", "项目",
					"程度等级", dataset, PlotOrientation.VERTICAL, true, false,
					false);
			// 保存图表
			ChartUtilities.saveChartAsPNG(new File("E:/BarChart3D.png"),chart, 800, 500);
			System.out.println("绘图完成");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

1
2
分享到:
评论
3 楼 bjqincy 2013-04-07  
jackami121 写道
在Linux上,安装 中文字体

这个是正解。。。。
2 楼 jackami121 2013-04-07  
在Linux上,安装 中文字体
1 楼 t129zhangq 2013-04-06  
如果实在linux或者unix系统上。。。了??

相关推荐

Global site tag (gtag.js) - Google Analytics