Linux 下JFreeChart图形乱码问题解决

JFreeChart默认字体有"Arial","Dialog", "Dialog", "SansSerif", "Tahoma"

而需要用到是宋体等中文字体时,JVM找不到相关字体文件,所以会显示乱码,解决方法如下。

第一步:

将Linux系统的字体目录作为JDK下面的一个字体目录连接。
ln -s $FONTS_PATH/FONT_DIR$JAVA_HOME/jre/lib/fonts/fallback

第二步:

在代码中(柱状图)

  1. Font font = new Font("宋体", Font.BOLD, 22);  
  2. jfreechart.getTitle().setFont(font); // 标题  
  3.   
  4. font = new Font("宋体", Font.PLAIN, 14);  
  5. jfreechart.getLegend().setItemFont(font); // 列类型的文字字体  
  6.           
  7. font = new Font("宋体", Font.PLAIN, 16);  
  8. categoryaxis.setLabelFont(font); // x轴名称的字体  
  9. categoryplot.getRangeAxis().setLabelFont(font); // y轴名称的字体  
  10.   
  11. CategoryPlot categoryplot = jfreechart.getCategoryPlot();  
  12. CategoryAxis categoryaxis = categoryplot.getDomainAxis();  
  13.   
  14. font = new Font("宋体", Font.PLAIN, 12);  
  15. categoryaxis.setTickLabelFont(font); // x轴上的刻度名称字体  
  16. categoryplot.getRangeAxis().setTickLabelFont(font); // y轴上的刻度名称字体  
  17.           
  18. font = new Font("宋体", Font.PLAIN, 18);  
  19. categoryplot.setNoDataMessage(emptyMsg);  
  20. categoryplot.setNoDataMessageFont(font); // 没有数据时的提示 


饼图

 
 
  1. PiePlot plot = (PiePlot)freeChart.getPlot();   
  2. plot.setLabelFont(new Font("宋体",Font.BOLD,15)); 



参考博客:http://ferreousbox.iteye.com/blog/395176


http://developer.51cto.com/art/201112/308902.htm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值