在使用JFreeChart生成图表时候,图表里面的汉字是一个个的“口”,没有正常显示,很是郁闷,上网查找方案,有的说是jar包版本的问题,jfreechart1.0.10以后就会有乱码问题,建议使用1.0.10版本,但是我觉得既然都有新版本为什么不用,只是你没找到解决方案。下面提供的这种方法就可以解决,还能够灵活改变字体,岂不是很好的说:
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.StandardChartTheme;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
/*
* 绘制柱状图
*/
public class Zhu {
public static void main(String[] args) {
try {
// 设置字体,去除中文乱码
StandardChartTheme sct = new StandardChartTheme("CN");
sct.setExtraLargeFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));
sct.setRegularFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));
sct.setLargeFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));
ChartFactory.setChartTheme(sct);
// 构造数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "要求的程度等级", "责任心");
dataset.addValue(200, "学生达到的等级", "责任心");
dataset.addValue(200, "要求的程度等级", "进取心");
dataset.addValue(300, "学生达到的等级", "进取心");
dataset.addValue(400, "要求的程度等级", "好胜心");
dataset.addValue(400, "学生达到的等级", "好胜心");
/*
* public static JFreeChart createBarChart3D( java.lang.String
* title, 设置图表的标题 java.lang.String categoryAxisLabel, 设置分类轴的标示
* java.lang.String valueAxisLabel, 设置值轴的标示 CategoryDataset dataset,
* 设置数据 PlotOrientation orientation, 设置图表的方向 boolean legend,
* 设置是否显示图例 boolean tooltips,设置是否生成热点工具 boolean urls) 设置是否显示url
*/
JFreeChart chart = ChartFactory.createBarChart3D("统计分析", "项目",
"程度等级", dataset, PlotOrientation.VERTICAL, true, false,
false);
// 保存图表
ChartUtilities.saveChartAsPNG(new File("E:/BarChart3D.png"),chart, 800, 500);
System.out.println("绘图完成");
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...
在使用JFreeChart库生成图表时,可能会遇到中文乱码的问题,这主要是因为JFreeChart默认的字体不支持中文显示。解决这个问题的关键在于为图表的各个部分(如标题、轴标签、图例等)设置合适的中文支持字体。下面将...
在Linux环境下,使用JFreeChart库进行图表生成时,可能会遇到中文乱码的问题。这是因为JFreeChart默认使用的是西方字符集,不支持中文显示。本文将深入探讨如何解决这一问题,确保在Linux系统中,JFreeChart能正确地...
JFreeChart是一个强大的Java库,它提供了一套完整的解决方案来创建各种图表,如饼图、柱状图、线图等。然而,由于编码问题,当图表中包含中文字符时,可能会显示为方框或无法识别的字符。解决这个问题需要对Java的...
通过以上步骤,你应该能够成功解决JFreeChart在Linux服务器上生成图片时的中文乱码问题。值得注意的是,这种方法不仅适用于JFreeChart,还适用于其他依赖于Java运行环境显示中文字符的程序。在实际操作中,应根据...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D和3D图表,如柱状图、折线图和...在你的项目中,可以参考提供的文件“jfreechart”来查看具体的实现方式,这将有助于你更好地理解和应用这些解决方案。
**解决方案** 1. **检查Java版本**:确认Java版本与JFreechart兼容,并更新到最新稳定版本。 2. **更新图形库**:如果必要,安装或更新系统的AWT和Swing库。 3. **修复环境变量**:确保`JAVA_HOME` 和 `PATH` ...
因此,针对JFreeChart中的中文乱码问题,本文将汇总并整理一系列有效的解决方案。 #### JFreeChart简介 JFreeChart是一款开源Java图表库,它提供了丰富的API来创建高质量的图表。JFreeChart支持多种类型的图表,...
本文将深入探讨如何解决JFreeChart中的中文乱码问题,并通过具体的代码示例来演示解决方案。 #### 一、问题背景 JFreeChart是一款开源的Java图表库,它能够生成各种类型的图表,如折线图、柱状图、饼图等。但在...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,...如果你遇到的特定问题仍未解决,可以搜索相关的解决方案,或者参考社区中的帖子,如文中提到的博客文章,那里通常会汇总各种场景下的解决方案。
iReport JFreeChart 图表乱码问题解决方案 在使用 iReport 和 JFreeChart 生成报表时,可能会遇到图表中文乱码的问题, especially on Linux systems. 这篇文章将详细介绍这个问题的解决方案。 问题描述 当我们...
《JFreechart生成PDF中文显示问题的解决方案》 在使用JFreechart库生成PDF文档时,经常遇到一个棘手的问题,即中文文字无法正常显示。这主要是由于JFreechart默认的字体映射策略不支持中文字符集导致的。本文将详细...
在Linux环境下,使用JFreeChart库生成图表时可能会遇到中文乱码的问题,表现为显示为“口”这样的小方块。这通常与字符编码设置、JDK版本以及系统字体配置有关。下面将详细解释这个问题的原因及解决策略。 1. **...
"JFreeChar jar包 中文不乱码"的标题表明这个特定的JFreeChart版本或更新已经解决了中文显示时可能出现的乱码问题,使得在包含中文数据的图表中,文字能够正确显示。 在Java编程中,乱码问题常常是由于字符集编码不...
在IT行业中,生成高质量的报表是一项重要的任务,特别是在数据分析、业务报告和决策支持等领域。...总之,理解`JFreeChart`的API以及与之配合的导出库,将有助于你构建高效、高质量的数据可视化解决方案。
JFreeChart 提供了两种解决方案: 1. **Applet 方案**:使用 Java Applet 在浏览器中直接绘制图表。然而,由于现代浏览器逐渐弃用对 Java Applet 的支持,这种方式在互联网环境中已经不推荐。 2. **服务器端生成...
解决方案同样是在Java环境中配置正确的字体资源,确保JFreeChart能够访问并渲染中文字符。 压缩包中的“font”文件很可能是包含了用于解决这些问题的特定字体文件,例如TrueType或OpenType格式的字体。这些字体文件...
然而,在某些Linux发行版,尤其是Ubuntu中,由于默认字体不支持或者配置问题,可能导致JFreeChart生成的图形中的文本出现乱码。这个问题主要涉及到Java的字体渲染机制以及Ubuntu的字体设置。 首先,我们需要理解的...
描述中提到的解决方案是利用这些字体文件来解决JFreeChart在Linux环境下的乱码问题。这通常涉及到以下几个步骤: 1. **添加字体资源**:首先,需要将"zysong.ttf"和"simsun.ttf"添加到Java的类路径或者系统的字体...