`
wutheringsea
  • 浏览: 263353 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

[转] JFreeChart两种图及中文乱码问题

阅读更多

柱状图:

 

import java.awt.Font;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class BarChartDemo {
public static void main(String[] args) throws IOException {
   CategoryDataset dataset = getDataset();
   JFreeChart chart = ChartFactory.createBarChart3D("圆柱",//标题
     "应报与实报对照", //x轴显示
     "人数", //y轴显示
     dataset, //数据源
     PlotOrientation.VERTICAL,//图表方向:水平、垂直 
     true, // 是否显示图例(对于简单的柱状图必须是false) 
     false, // 是否生成工具 
     false);// 是否生成URL链接 
   CategoryPlot plot = chart.getCategoryPlot();
   CategoryAxis axis = plot.getDomainAxis();//获取x轴
   ValueAxis numberAxis = plot.getRangeAxis();//获取y轴
   axis.setLowerMargin(0.1);//设置距离图片左端距离此时为10%
   axis.setUpperMargin(0.1);//设置距离图片右端距离此时为百分之10 
   axis.setCategoryLabelPositionOffset(10);//图表横轴与标签的距离(10像素)
   axis.setCategoryMargin(0.2);//横轴标签之间的距离20% 
   chart.getLegend().setItemFont(new Font("黑体",Font.BOLD,12));//设置底部中文乱码
   axis.setTickLabelFont(new Font("黑体",Font.BOLD,12));//设置X轴坐标上的文字
   axis.setLabelFont(new Font("黑体",Font.BOLD,12));//设置X轴的标题文字
   numberAxis.setTickLabelFont(new Font("黑体",Font.BOLD,12));//设置X轴坐标上的文字
   numberAxis.setLabelFont(new Font("黑体",Font.BOLD,12));//设置X轴的标题文字
   chart.getTitle().setFont(new Font("黑体",Font.BOLD,18));//设置标题文字
   File file = new File("d:/BarChartDemo.png");
   ChartUtilities.saveChartAsPNG(file, chart, 400, 300);
}

public static CategoryDataset getDataset(){
   DefaultCategoryDataset dataset = new DefaultCategoryDataset();
   dataset.addValue(100, "计划", "清华大学");
   dataset.addValue(150, "实报", "清华大学");
   dataset.addValue(200, "计划", "天津大学");
   dataset.addValue(300, "实报", "天津大学");
   dataset.addValue(130, "计划", "郑州大学");
   dataset.addValue(180, "实报", "郑州大学");
   return dataset;
}
}

 



饼状图:

二、饼状图
import java.awt.Font;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
public class PieChartDemo {
public static void main(String[] args) throws IOException {
   DefaultPieDataset dataset = getdDataset();
   JFreeChart chart = ChartFactory.createPieChart3D("饼状图", 
     dataset, 
     true, 
     false, 
     false);
   chart.getTitle().setFont(new Font("黑体",Font.BOLD,20));//设置标题字体
   PiePlot piePlot= (PiePlot) chart.getPlot();//获取图表区域对象
     piePlot.setLabelFont(new Font("黑体",Font.BOLD,12));//饼图旁边的中文
     chart.getLegend().setItemFont(new Font("黑体",Font.BOLD,12));//底部中文
   File file = new File("d:/PieChartDemo.png");
   ChartUtilities.saveChartAsPNG(file, chart, 400, 300);
}

public static DefaultPieDataset getdDataset(){
   DefaultPieDataset dataset = new DefaultPieDataset();
   dataset.setValue("JAVA开放工程师", 500);
   dataset.setValue(".NET开放工程师", 300);
   dataset.setValue("PHP开放工程师", 100);
   dataset.setValue("PB开放工程师", 50);
   dataset.setValue("C开放工程师", 250);
   dataset.setValue("C++开放工程师", 400);
   return dataset;
}
}


 

分享到:
评论

相关推荐

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

    标题“JFreechart在Linux下不显示及中文乱码问题”指出的是在使用JFreechart库创建图表时,在Linux操作系统环境下遇到的两个主要问题:图表无法正常显示以及中文字符出现乱码。JFreechart是一个Java库,用于生成高...

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

    在标题和描述中提到的问题,主要聚焦于两个关键点:中文乱码和数值显示。本文将详细解析这些问题以及如何解决。 首先,我们来谈谈中文乱码问题。在JFreeChart的早期版本中,由于默认的字体集可能不支持中文字符,...

    jfreechart部署linux服务器生成图片乱码解决方案

    标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...

    jfreechart中文乱码问题解决方案

    在使用JFreeChart库生成图表时,可能会遇到中文乱码的问题,这主要是因为JFreeChart默认的字体不支持中文显示。解决这个问题的关键在于为图表的各个部分(如标题、轴标签、图例等)设置合适的中文支持字体。下面将...

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

    在Linux环境下使用JFreeChart库绘制图表时,可能会遇到中文乱码的问题。JFreeChart是一个强大的Java库,它提供了一套完整的解决方案来创建各种图表,如饼图、柱状图、线图等。然而,由于编码问题,当图表中包含中文...

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

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

    JFreeChart无中文乱码版本

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

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

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

    jfreechart乱码问题

    针对上述问题,可以通过以下几种方法来解决jFreeChart中的中文乱码问题: ##### 1. 设置支持中文的字体 最直接的方法是为jFreeChart中的各个元素(如轴标签、图例等)指定一个支持中文的字体。例如,在示例代码中...

    JFreeChart中文乱码问题解决

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

    jfreechart在LINUX下乱码问题的解决

    标题中的“jfreechart在LINUX下乱码问题的解决”指的是在Linux操作系统中使用JFreeChart库时遇到的字符编码问题。JFreeChart是一个Java库,用于创建各种图表,如饼图、柱状图、线图等。在处理中文字符时,如果系统...

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

    1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括许多优秀案例

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

    这是一款专为Linux设计的中文字体,包含了大量汉字,可以有效地解决JFreeChart在Linux环境下的中文乱码问题。将“zysong.ttf”字体文件添加到系统中,可以让JFreeChart在绘制图表时能够正确渲染中文字符。 在Java...

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

    1、JFreeChart生成图片路径教程 2、JFreeChart使用教程(含下载安装,超详细) 3、JFreeChart使用详细教程 4、JFreeChart学习--jsp柱状图教程 5、JFreeChart乱码解决方法 等等 包括csdn上得优秀案例 ------20+M的...

    JFreechart源码以及linux环境下中文乱码的解决

    通过以上分析,我们可以看到,理解和使用JFreeChart源码不仅可以解决在Linux环境下中文乱码的问题,还能帮助我们更好地控制和定制图表的显示效果。对于需要在Java项目中展示数据或者创建复杂图表的开发者来说,深入...

    jfreechart形成报表文字乱码解决

    在使用JFreeChart库生成报表时,可能会遇到中文字符出现乱码的问题,这通常是由于字体设置不正确导致的。JFreeChart是一个强大的Java库,用于创建各种类型的图表,包括柱状图、饼图、时序图和折线图等。在处理中文...

    解决jfreechart中文乱码

    在使用Java的JFreeChart库绘制包含中文字符的图表时,常常会遇到中文乱码的问题。JFreeChart是一个强大的开源库,用于创建各种类型的图表,包括柱状图、饼图、线图等。然而,由于编码处理不当,中文字符可能无法正确...

    jfreechart linux乱码解决方案

    在Linux环境下,使用JFreeChart库进行图表生成时,可能会遇到中文乱码的问题。这是因为JFreeChart默认使用的是西方字符集,不支持中文显示。本文将深入探讨如何解决这一问题,确保在Linux系统中,JFreeChart能正确地...

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

    解决JFreeChart中文乱码的方法主要集中在字体的配置和编码的处理两个方面。 #### 字体配置 字体配置是解决中文乱码最基本也是最有效的方法之一。 1. **使用系统字体** - 在Java环境中指定使用系统中已安装的支持...

    JFreeChart乱码解决方法

    JFreeChart乱码解决方法 - 企业应用 - Java

Global site tag (gtag.js) - Google Analytics