Jfreechart中文乱码解决方法

Jfreechart中文乱码解决方法

jfreechart对中文的支持部是很好,我开始做的时候也有乱码,下面的方案是在java上运行可以的。。。

<!--[if !supportLists]-->1.     <!--[endif]-->柱状图(CategoryPlot):

   CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象

   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,15));

     chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));

 

<!--[if !supportLists]-->2.     <!--[endif]-->饼图(PiePlot):

     JFreeChart chart = ChartFactory.createPieChart3D("IT行业职业分布图", dataset, true, false, false);

    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));

 

<!--[if !supportLists]-->3.     <!--[endif]-->时序图(TimeSeries) 

   XYPlot plot = (XYPlot) chart.getPlot();

    //纵轴字体

    plot.getRangeAxis().setLabelFont(new Font("宋体", Font.BOLD, 15));

    //横轴框里的标题字体

    chart.getLegend().setItemFont(new Font("宋体", Font.ITALIC, 15));

    //横轴列表字体

    plot.getDomainAxis().setTickLabelFont(new Font("新宋体", 1, 15));

    //横轴小标题字体

    plot.getDomainAxis().setLabelFont(new Font("新宋体", 1, 12));

 

<!--[if !supportLists]-->4.     <!--[endif]-->折线图

   CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象

chart.getTitle().setFont(new Font("宋体", Font.BOLD, 15));

   chart.getLegend().setItemFont(new Font("黑体", Font.BOLD, 15));

   CategoryAxis domainAxis = plot.getDomainAxis();  

   /*------设置X轴坐标上的文字-----------*/

   domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 11));  

   /*------设置X轴的标题文字------------*/

   domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));  

   NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();  

   /*------设置Y轴坐标上的文字-----------*/

   numberaxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 12));  

   /*------设置Y轴的标题文字------------*/

   numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12))

下面一个实例:

package com.zzs.jfreechart.demo;

import java.awt.Font;

import javax.swing.JPanel;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.ui.ApplicationFrame;

public class JfreeChartOne extends ApplicationFrame {

 private static final long serialVersionUID = 1L;

 public JfreeChartOne(String s)

 {

  super(s);

  setContentPane(createJPanel());

 }

 public static void main(String[] args) {

  JfreeChartOne one = new JfreeChartOne("CityInfoPort公司组织架构图");

  one.pack();

  one.setVisible(true);

 }

 // 利用静态方法设定数据源(饼状图)

 public static PieDataset createPieDataset() {

  DefaultPieDataset defaultpiedataset = new DefaultPieDataset();

  defaultpiedataset.setValue("管理人员", 10.02D);

  defaultpiedataset.setValue("市场人员", 20.23D);

  defaultpiedataset.setValue("开发人员", 60.02D);

  defaultpiedataset.setValue("OEM人员", 10.02D);

  defaultpiedataset.setValue("其他人员", 5.11D);

  return defaultpiedataset;

 }

 // 通过ChartFactory创建JFreeChart的实例

 public static JFreeChart createJFreeChart(PieDataset p)

 {

  JFreeChart a = ChartFactory.createPieChart("CityInfoPort公司组织架构图", p,
    true, true, true);
  // JFreeChart主要由三个部分构成:title(标题),legend(图释),plot(图表主体)。
  //三个部分设置字体的方法分别如下:
  TextTitle textTitle = a.getTitle();
  textTitle.setFont(new Font("宋体", Font.BOLD, 20));
  LegendTitle legend = a.getLegend();
  if (legend != null) {
   legend.setItemFont(new Font("宋体", Font.BOLD, 20));
  }

  PiePlot pie = (PiePlot) a.getPlot();

  pie.setLabelFont(new Font("宋体", Font.BOLD, 12));

  pie.setNoDataMessage("No data available");

  pie.setCircular(true);

  pie.setLabelGap(0.01D);// 间距

  return a;

 }

 public static JPanel createJPanel() {

  JFreeChart jfreechart = createJFreeChart(createPieDataset());

  return new ChartPanel(jfreechart);

 }

}

时间: 2024-11-01 20:40:08

Jfreechart中文乱码解决方法的相关文章

php excel reader2.21导出excel中文乱码解决方法说明

之前我的PHP教程博客访友询问使用php excel reader2.21导出excel时中文出现乱码如何解决,现我说明下php excel reader导出excel中文乱码的解决方法,希望对使用php excel reader导出excel的朋友有所帮助. php excel reader介绍 php excel reader是一个读取Excel xsl文件内容的一个php excel类,目前最新版本是php excel reader2.21,网上可自行搜索,sourceforge上的php

使用WebLogic的OTN插件时Eclipse控制台输出中文乱码解决方法

  使用WebLogic时控制台输出中文乱码解决方法1.找到weblogic安装目录,当前项目配置的domain2.找到startWebLogic.cmd文件3.打开文件,在"call "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*"上面增加如下代码即可,主要是设置UTF-8啊. @ECHO OFF @REM WARNING: This file is created by the Configuration Wizard. @RE

python 中文乱码解决方法

比如我从网上下载一些信息或写个电子邮件程序下载到本地,以记事本(txt) 形式写入并保存在本地计算机,为什么看到只是英文和乱码的?该怎样做呢? 答 乱码原因: 因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件.但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了. 解决方法: 在控制台打印的地方用一个转码就ok了,打印的时候这么写: print myname.decode('utf-8').encode('gb

ajax中文乱码解决方法总结

ajax乱码解决办法一: 在服务器指定发送数据的格式: 在jsp文件中: response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件 或是 response.setContentType("text/xml;charset=UTF-8");//返回的xml文件 PHP:header("Content-Type:text/html;charset=GB2312"); ajax乱码

SMARTY 中文乱码解决方法

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-

zend studio 5.5中文乱码解决方法

zend studio 5.5中文乱码解决方法 购买zend产品的用户太少了还是我安装的问题,装好后桌面选项中竟然没有"简体中文"的语言选项了,到配置文件夹里看了一会,在系统盘中搜索XML文件desktop_options.xml(例如:C:Documents and SettingsAdministratorZDEconfig_5.5 目录下的 desktop_options.xml) <customized_property ID="desktop.language

远程linux xshell下输出中文乱码解决方法_unix linux

使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: 复制代码 代码如下: [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cp i18n i18n.bak #备份i18n文件 [root@localhost sysconfig]# echo "" >i18n [root

wxPython窗口中文乱码解决方法_python

本文实例讲述了wxPython窗口中文乱码解决方法,分享给大家供大家参考.具体方法如下: 文件保存为 utf-8 文件开头添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的网站:http://www.jb51.net" 示例如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class App(wx.App):       def OnInit(self):         frame = wx.

EF之数据库连接问题与中文乱码解决方法

ef之数据库教程连接问题与中文乱码解决方法 the specified named connection is either not found in the configuration, not intended to be used with the ent 1.首先修改<add name="northwindentities"        connectionstring="metadata=res://*/northwind.csdl|res://*/nort