jfreechart中文乱码解决方法
openkk
13年前
<pre class="brush:java; toolbar: true; auto-links: false;">CategoryDataset dataset = getDataSet2(); JFreeChart chart = ChartFactory.createBarChart3D("", // 图表标题 "", // 目录轴的显示标签 "", // 数值轴的显示标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true, // 是否显示图例(对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成URL链接 ); //设置字体 configFont(chart); //字体配置方法(解决中文问题) private static void configFont(JFreeChart chart) { // 配置字体 Font xfont = new Font("宋体", Font.PLAIN, 12);// X轴 Font yfont = new Font("宋体", Font.PLAIN, 12);// Y轴 Font kfont = new Font("宋体", Font.PLAIN, 12);// 底部 Font titleFont = new Font("隶书", Font.BOLD, 25); // 图片标题 CategoryPlot plot = chart.getCategoryPlot();// 图形的绘制结构对象 // 图片标题 chart.setTitle(new TextTitle(chart.getTitle().getText(), titleFont)); // 底部 chart.getLegend().setItemFont(kfont); // X 轴 CategoryAxis domainAxis = plot.getDomainAxis(); domainAxis.setLabelFont(xfont);// 轴标题 domainAxis.setTickLabelFont(xfont);// 轴数值 domainAxis.setTickLabelPaint(Color.BLUE); // 字体颜色 domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的label斜显示 // Y 轴 ValueAxis rangeAxis = plot.getRangeAxis(); rangeAxis.setLabelFont(yfont); rangeAxis.setLabelPaint(Color.BLUE); // 字体颜色 rangeAxis.setTickLabelFont(yfont); }</pre> <br />