`
maosheng
  • 浏览: 567926 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JFreeChart 解决中文乱码

    博客分类:
  • Java
 
阅读更多
由于JFreeChart组件的版本、操作平台、JDK的设置等因素,在使用JFreeChart组件时可能会出现中文乱码的现象。遇到此问题时,可通过设置文字的字体来解决问题。在此提供以下两种解决此问题的方法。

一、设置主题的样式(强烈推荐)

在制图前,创建主题样式并制定样式中的字体,通过ChartFactory的setChartTheme()方法设置主题样式。

//创建主题样式    
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);


二、制定乱码文字的字体

JFreeChart是用户使用该库提供的各类图标的统一接口,JFreeChart主要由三个部分构成:title(标题),legend(图释),plot(图表主体)。三个部分设置字体的方法分别如下:


1.标题:

freeChart.getTitle().setFont(new Font("黑体", Font.BOLD, 20));

TextTitle textTitle = freeChart.getTitle();  
textTitle.setFont(new Font("黑体",Font.BOLD,20));


2.图释:

LegendTitle legend = freeChart.getLegend();  
if (legend!=null)
{  
  legend.setItemFont(new Font("宋体", Font.BOLD, 20));  
}


3.图表主体:

对于不同类型的图表对应Plot的不同的实现类,设置字体的方法也不完全相同。


曲线图:

CategoryAxis valueAxis = plot.getDomainAxis();

// 设置x轴上面的字体 
valueAxis.setTickLabelFont(new Font("隶书", Font.ITALIC, 12)); 

// 设置X轴的标题文字 
valueAxis.setLabelFont(new Font("隶书", Font.ITALIC, 12)); 
NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis(); 

// 设置y轴上的字体 
numberAxis.setTickLabelFont(new Font("宋体", Font.PLAIN, 13)); 

// 设置y轴上的标题字体 
numberAxis.setLabelFont(new Font("宋体", Font.PLAIN, 13));


饼图:

chart.getTitle().setFont(new Font("黑体", Font.BOLD, 20)); 
PiePlot piePlot = (PiePlot) chart.getPlot(); 
piePlot.setLabelFont(new Font("黑体", Font.BOLD, 10)); 
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 10));


柱形图:

CategoryAxis domainAxis = plot.getDomainAxis(); 

// 设置水平底部列表 
domainAxis.setLabelFont(new Font("黑体", Font.BOLD, 14)); 

// 设置水平底部标题 
domainAxis.setTickLabelFont(new Font("黑体", Font.BOLD, 12)); 

// 设置锤子标题 
ValueAxis rangeAxis = plot.getRangeAxis(); 
rangeAxis.setLabelFont(new Font("黑体", Font.BOLD, 18)); 

// 设置说明的字体 
chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 18)); 
chart.getTitle().setFont(new Font("黑体", Font.BOLD, 20));




分享到:
评论

相关推荐

    zysong.ttf jfreechart 解决中文乱码 问题

    通过以上步骤,你可以成功地在Linux环境中使用JFreeChart并解决中文乱码问题。值得注意的是,这种方法同样适用于其他可能出现类似问题的Java图形库,只需替换相应的字体即可。 总的来说,解决JFreeChart在Linux下...

    jfreechart解决中文乱码,柱状图有详细的注释

    将jfreechart.war包放入tomcat里,启动tomcat 在浏览器里输入:http://localhost:8080/jfreechart/index.jsp看见的是柱状图,输入:http://localhost:8080/jfreechart/index2.jsp看见的是饼状图。 供大家学习

    JFreeChart无中文乱码版本

    这个特定的版本,被称为“JFreeChart无中文乱码版本”,特别优化了解决在处理中文字符时可能出现的乱码问题,使得在中文环境下使用JFreeChart变得更加友好。 JFreeChart支持多种类型的图表,包括但不限于柱状图、...

    jfreechart-1.0.13中文乱码,数值显示等问题

    总的来说,解决JFreeChart中的中文乱码和数值显示问题需要理解其内部机制并进行适当的配置。而通过封装和加强官方示例,开发者可以提高代码的复用性和易用性,使得在实际项目中使用JFreeChart更加高效。在你的项目中...

    Linux下JFreechart中文乱码的解决.docx

    Linux下JFreechart中文乱码的解决.docx

    jfreechart中文乱码问题解决方案

    下面将详细阐述如何解决JFreeChart中文乱码问题,并提供不同图表类型的具体配置示例。 1. **柱状图(CategoryPlot)**:在柱状图中,我们需要设置`CategoryPlot`的`domainAxis`和`rangeAxis`的字体,以及图例的字体。...

    Linux下的JFreeChart中文乱码口口解决

    这个文件可以用来解决JFreeChart在Linux下显示中文乱码的问题。 解决步骤如下: 1. **安装字体**:首先,你需要将“simsun.ttc”字体文件安装到你的Linux系统中。这通常涉及到将字体文件复制到系统的字体目录...

    JFreechart 在linux下不显示及中文乱码问题

    `zysong.ttf` 文件可能是一个包含中文字符的TrueType字体文件,可以尝试在JFreechart中加载这个字体以解决乱码问题。 **解决方案** 1. **检查Java版本**:确认Java版本与JFreechart兼容,并更新到最新稳定版本。 ...

    JFreeChart 详细中文教程 案例 中文API 乱码解决方法

    JFreeChart-1.0.13原文件含jar包。 1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 ...5、JFreeChart乱码解决方法 等等 包括许多优秀案例

    Jfreechart 中文乱码解决方法

    Jfreechart 中文乱码的解决方法,网上共享的资源

    jfreechart Linux服务器图片中文乱码解决方案(亲测,已解决多台服务器)

    通过以上步骤,你应该能够成功解决JFreeChart在Linux服务器上生成图片时的中文乱码问题。值得注意的是,这种方法不仅适用于JFreeChart,还适用于其他依赖于Java运行环境显示中文字符的程序。在实际操作中,应根据...

    解决jfreechart中文乱码方案整理.doc

    字体配置是解决中文乱码最基本也是最有效的方法之一。 1. **使用系统字体** - 在Java环境中指定使用系统中已安装的支持中文的字体,例如“宋体”、“微软雅黑”等。 - ```java Font font = new Font("宋体", ...

    解决jfreechart中文乱码

    本文将详细介绍如何解决jfreechart中文乱码问题。 首先,乱码问题通常与字符编码有关。在Java Web应用中,确保页面的编码设置正确至关重要。在给定的jsp文件中,可以看到`contentType="text/html;charset=UTF-8"`这...

    jfreechart形成报表文字乱码解决

    解决JFreeChart乱码问题的基本思路是修改图表的各个组成部分(如标题、坐标轴、图例等)的字体设置,确保它们使用支持中文的字体。以下是一些关键的类和接口,以及如何使用它们来解决乱码问题: 1. **数据源...

    jfreechart linux乱码解决方案

    通过以上步骤,你应该能够在Linux环境中成功解决JFreeChart的中文乱码问题。记住,关键在于正确配置字体和确保Java能够找到并使用这些字体。在实际开发过程中,根据具体环境和需求,可能需要进行一些额外的调整。

    JFreeChart中文乱码问题解决

    ### JFreeChart中文乱码问题解决 在使用Java进行数据可视化的过程中,经常需要用到JFreeChart这一强大的图表绘制库。然而,在处理中文字符时,开发者往往会遇到一个常见的问题——中文乱码。本文将深入探讨如何解决...

    jfreechart解决乱码.doc

    ### jfreechart解决乱码知识点解析 #### 一、引言 在使用Java进行图表绘制时,经常会遇到中文显示的问题,特别是在使用`JFreeChart`这类图表库时,中文字符可能会出现乱码的情况。本文将详细介绍如何通过设置字体来...

    linux下JFreeChart生成的图片乱码,可以用这个字体

    在Linux环境下,使用Java的...总的来说,解决JFreeChart在Linux下的中文乱码问题需要结合系统环境、JFreeChart的API使用以及适当的编码设置。通过正确地配置和使用支持中文的字体,可以确保生成的图表文本清晰易读。

    JFreeChart详细中文教程|案例|中文API|乱码解决方法|等集合

    绝对物超所值! JFreeChart-1.0.13原文件含jar包。 1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细...5、JFreeChart乱码解决方法 等等 包括csdn上得优秀案例 ------20+M的数据不要别后悔哦

Global site tag (gtag.js) - Google Analytics