由于JFreeChart组件的版本、操作平台、JDK的设置等因素,在使用JFreeChart组件时可能会出现中文乱码的现象。
遇到此问题时,可通过设置文字的字体来解决问题。
下面提供一种个人觉得比较好的解决方案:
代码如下 | 复制代码 |
//创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN"); //设置标题字体 standardChartTheme.setExtraLargeFont(new Font("黑体",Font.BOLD,20)); //设置图例的字体 standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15)); //设置轴向的字体 standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15)); //应用主题样式 ChartFactory.setChartTheme(standardChartTheme); |
这样,可以解决绝大部分图表中中文乱码的问题。
补充一个解决中文乱码函数
代码如下 | 复制代码 |
CategoryDataset dataset = getDataSet2(); JFreeChart chart = ChartFactory.createBarChart3D("", // 图表标题 "", // 目录轴的显示标签 "", // 数值轴的显示标签 dataset, // 数据集 PlotOrientation.VERTICAL, // 图表方向:水平、垂直 true, // 是否显示图例(对于简单的柱状图必须是false) false, // 是否生成工具 false // 是否生成URL链接 ); //设置字体 configFont(chart); //字体配置方法(解决中文问题) // 图片标题 // 底部 // X 轴 // Y 轴 } |