jfreechart使用及其向linux移植

在Linux系统中配置JFreeChart以显示中文 本文还有配套的精品资源,点击获取 简介:JFreeChart是一个广泛使用的Java图表库,但在Linux系统中可能因缺少中文支持而导致中文显示问题。文章讨论了在Linux下解决JFreeChart显示中文的步骤,包括安装中文字体、配置JFreeChart使用特定字体、处理编码问题、设置系统环境变量以及使用Java 2D API等技术要点。通过这些步骤,可以确保JFreeC... 阅读详情

jfreechart

jfreechart是一个免费(文档收费40$)创建图片的java工具.可以创建如下图形:
饼图(pie charts;)
曲线图(line charts )
柱状图(horizontal/vertical bar charts)
甘特图(Gantt charts; )
XY plots and scatter plots;
time series, high/low/open/close charts and candle stick charts;
combination charts;
Pareto charts;
bubble charts;
wind plots, meter charts and symbol charts;

必看的几个贴:

http://www-900.ibm.com/developerWorks/cn/wsdd/library/techarticles/yangyaping0307/waslinux.shtml

http://www.lslnet.com/linux/docs/linux-2940.htm

http://blog.blogchina.com/article_81038.344426.html

在向linux移植的时候会显示不出中文,出现方块。

解决方法:copy或引用/usr/share/fonts/zh_CN/TrueType目录下的中文字体,修改/home/jdk/jre/lib/fonts.properties

配置文件,如下:

sansserif.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

# Component Font Character Encodings
#
fontcharset.serif.0=sun.io.CharToByteISO8859_1
fontcharset.serif.1=sun.awt.motif.CharToByteX11GBK

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.awt.motif.CharToByteX11GBK

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.awt.motif.CharToByteX11GBK

fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.awt.motif.CharToByteX11GBK

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11GBK

fontset.sansserif.plain=/
-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.italic=/
-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.bold=/
-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.bolditalic=/
-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1


fontset.default=/
-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1


appendedfontpath=/usr/share/fonts/zh_CN/TrueType

然后对自己基于jfreechart写的程序进行重新编译、运行:

javac -encoding GBK   BarChartDemo.java //以GBK进行编码
java -Djava.awt.headless=true BarChartDemo//使用awt时不用调用x11的图形环境

 

在tomcat使用jfreechart时,

tomcat是5.0,在redhat8上,未启动X,方法如下:
1)终止你的tomcat。即:
tomcat目录/bin/shutdown.sh
2)设置环境变量:
CATALINA_OPTS="-Djava.awt.headless=true"
export CATALINA_OPTS
(如果你想每次开机自动生效,则可把这两句写入系统或者你的账号启动sh的.profile里)
3)启动你的tomcat。即:
tomcat目录/bin/startup.sh

用的Web服务器resin时,

修改resin/bin/下面的wrapper.pl中的一行
$JAVA_ARGS="-Djava.awt.headless=true";


 

==============================================================

最近项目中用到jfreechart,使用的版本是:jfreechart-0.9.8。
如果不进行相关的font的设置,生成的统计图表显示的中文非常模糊。
做了一个例子,可以解决这个问题。

[该方法是将一般字体替换为“黑体”使中文更加清楚,

因此必须保证你的OS上有该字体,并且jdk能够识别得到]

核心代码如下:

JFreeChart chart = ChartFactory.createVerticalBarChart3D(title, domain, range, dataset,true,true,false);

chart.setBackgroundPaint(new GradientPaint(0.0F, 0.0F, Color.white, 1000F, 0.0F, Color.red));
chart.setTitle(new TextTitle(title, new Font("隶书", Font.ITALIC, 15)));

Font font=new Font("黑体",Font.TRUETYPE_FONT, 12);

StandardLegend legend = (StandardLegend) chart.getLegend();
legend.setItemFont(font);

CategoryPlot plot = (CategoryPlot)chart.getPlot();
plot.setForegroundAlpha(0.9F);

CategoryAxis domain_axis = plot.getDomainAxis();
domain_axis.setTickLabelFont(font);

ValueAxis value_axis=plot.getRangeAxis();
value_axis.setTickLabelFont(font);

 

JFreechart 在linux下不显示及中文乱码问题 NULL 博文链接:https://haiziwoainixx.iteye.com/blog/870154 立即下载

相关推荐

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

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

linux解决jfreechart中文乱码问题

做项目中用到了jfreechart用来显示统计课程排行的结果,但是在xp下显示正常,但是在linux下显示中文乱码 类似 口口口之类的 在网上搜了些,一开始由于对linux不太熟悉,也就没有解决问题,现在学习了一段fedora后,重新解决了这个问题 首先 将xp下的 simsun.ttc字体拷贝到 linux下,放在 linux的 %JAVA_HOME%/jre/lib/fonts...

huanglanfa的专栏 395

又见乱码——CentOS下JFreeChart生成图片的中文乱码

NULL 博文链接:https://lixc.iteye.com/blog/278929

Linux使用jfreechart报错:Could not initialize class org.jfree.chart.JFreeChart

java使用jfreechart绘制饼图、环形图、表格,我从网上找的例子,然后修改成符合要求的图片、表格,并导出word文档,好家伙,在本地windows是正常的,jenkins打包部署到线上就报错,网上说的很多都是修改tomcat配置改成true还是false的,还有说在启动类里加上System.setProperty("java.awt.headless", "false");首先如果是tomcat项目可以考虑修改这些试试,如果是微服务项目,springboot项目,在本地启动的时候需要配置一下这个什么

weixin_45691427的博客 631

解决jfreechart在linux下无法显示中文

NULL 博文链接:https://edge2009.iteye.com/blog/691350

linux环境能够显示jfreechart生成的图片

linux环境下jfreechart无法生成与windows环境下的临时目录,从而导致图片无法显示,解决思路: 重写jfreechart的方法:ServletUtilities;ChartDeleter;DisplayChart 自定义三个类JfreeServletUtilities;JfreeChartDeleter;JfreeDisplayChart分别继承上面三个类,在这些方法中主要为了设置存放图片的目录,具体见附件!

linux下使用jfreechart

使用jfreechart生成图片,在windows下没问题,在linux下 Could not initialize class org.jfree.chart.JFreeChart 因为linux下默认不能初始化JFreeChart Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。Headless模式虽然不是我们愿意见到的,但事实上我们却

liuwei063608的专栏 2160

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

linux环境下jfreechart中文乱码口口问题

文章目录前言确认并思考问题解决方案引用最后 前言 最近发现一个问题,就是jfreechart在linux环境下,图表中文会出现乱码,然而poi的中文不会。 然后通过百度成功搜索到了一堆没用的文章。于是中和了一下这些文章,成功解决了这个问题。 确认并思考问题 因为都是说是linux环境下的字体文件,相比于window文件下的字体文件要少。导致中文的字体乱码。 那么我们就先查找一下linux下的字体库和window下的字体库 window 字体库:(C:\Windows\Fonts) linux 字体库

dubismile的博客 1600

Transformer模型在语义通信中的实战应用:从信源编码到端到端优化

本文深入探讨了Transformer模型在语义通信中的实战应用,从信源编码到端到端优化。文章分析了Transformer凭借其强大的全局依赖建模能力,如何成为实现高效语义提取与传输的理想架构,并提供了构建可端到端训练系统的具体实现思路与评估方法,旨在为下一代智能通信系统提供技术参考。

o9p0q1的博客 689

避坑指南:你的VASP CI-NEB计算为什么不收敛?常见错误分析与解决思路

本文深入解析VASP CI-NEB计算不收敛的常见问题,提供从结构准备到参数设置的系统解决方案。针对过渡态计算中的能量曲线异常、中间图像偏离等典型问题,详细介绍了诊断方法和实用工具,帮助研究者高效解决CI-NEB收敛难题,提升计算效率。

weixin_29698641的博客 431

JFreeChart 生成图表 在linux服务器中文乱码问题 及java 自定义字体

java中用JfreeChart可以生成图表,而不借助于flash,js,canvas等技术; 图表中的文字生成依赖于系统本地字体,但在Linux服务器上,中文字体缺失,进而引起图表中的中文乱码问题; 如下方法可以解决该问题: 在项目中加入ttf字体文件; 代码中通过该字体文件创建Font对象; 通过该Font对象控制图表中文字样式,即可避免中文乱码,同时,避免项目移植引起的字体样式丢失;...

dagecao的博客 1345

PET,CT图像融合笔记

PET-CT怎样进行图像融合?图像融合实现CT与PET图像的融合 OpenCV实现(附实验结果)

chenran187906的博客 8409

jfreechart在linux下的中文乱码问题

我最近用开源项目jfreechart 0.9.11做图,在win2k下,图片上的中文显示完好,但是移植到Red Flag advance server 4.0上后,却发现图片上的中文变成了“口口”样子的方框,不知该怎么解决,老板催的紧,请各位大虾伸手相助。谢谢(我的服务器是tomcat4.1)

shaobz的专栏 1553

从零到多智能体:Google Agent开发套件(ADK)入门指南

ADK促进自定义工具生产的能力是其优势之一。本质上,工具只是一个带有描述性文档字符串的Python函数。

独立开发,substack顶级编辑 2490

RHCA ---RH442-4

这题考试中是没有的,但我做ex的判分脚本里做了,主要是lab环境swap只有512M的,这样后续改了某几个参数后会造成内存不够用导致异常.这里记得是双>,如果没自信的小伙伴可以在考试开始后第一时间把/etc/fstab先备份一个或者vi进入后手动敲一下。根据题意我们需要分2个768M的分区给swap。用free看swap大小是2.0Gi即可。留意红框中的内容即可,最后w保存退出。这个时候可以重启下机器。

Q先生 641

JFreeChart 生成图表 在linux服务器中文乱码问题

JFreeChart 生成图表 在linux服务器中文乱码问题 java中用JfreeChart可以生成图表,而不借助于flash,js,canvas等技术; 图表中的文字生成依赖于系统本地字体,但在Linux服务器上,中文字体缺失,进而引起图表中的中文乱码问题; 如下方法可以解决该问题: 在项目中加入ttf字体文件; 代码中通过该字体文件创建Font对象; 通过该Font对象控制图表...

lufaxinT 8180

【DNN实现二分类模型推理部署(C#)----20240712】

【DNN实现二分类模型推理部署(C#)----20240712】

weixin_44119674的博客 212

JFreeChart在Linux下图片不显示

原来在windows部署下显示正常的用jfreechart做的统计图,可移植到linux下却显示不出来,是因为jfreechart的在linux系统中需要访问java awt库提供的图形功能,而linux下的绝大多数版本的java awt类库都需要x server提供的一些功能。而基本上作服务器的系统都没有启动x server(甚至根本没安装)的.解决的办法有很多,我用的是最简单的办法。一、在

lansky07 2544

辉芒微教程第五篇《定时器0实现LED灯闪烁》

定时器定时器,一听就跟个闹钟似的,对于嵌入式定时器大部分的应用中,也的确可以这么理解,但是这只能肤浅地这么理解,实际其功能不仅仅是用来计数定时,但是对于我们这种8位单片机,这么理解就够了。

qq_41809823的博客 723

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jfreechart不能在linux系统上正常生成图片的解决方案

<br />  JFreeChart在Linux下图片不显示 收藏<br />原来在windows部署下显示正常的用jfreechart做的统计图,可移植到linux下却显示不出来,是因为jfreechart的在linux系统中需要访问java awt库提供的图形功能,而linux下的绝大多数版本的java awt类库都需要x server提供的一些功能。而基本上作服务器的系统都没有启动x server(甚至根本没安装)的.解决的办法有很多,我用的是最简单的办法。<br />一、在你应用服务器的启动脚本中添

ForLife5518的专栏 1373

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JFreeChart在Linux下图片不显示 No JFreeChart object found on the stack with name chart

我用的是resin 的直接在启动的命令行中增加 参数 -Djava.awt.headless=true 就正常了 ----------------------------------------------------------------------------------------------------------------------------------------------

james的专栏 1811

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在Linux平台下的JFreeChart中文乱码的问题

原因:首先,JFreeChart和中文验证码的乱码问题和jsp的编码无关,是由于Java虚拟机找不到字体文件造成的,所以同类的Swing或者AWT的中文乱码问题也适用环境:JDK1.5(JDK版本很重要,如果是1.4.2版本的话,JRE目录下的字体配置文件不大一样)RedHat4.0Tomcat5.0解决方法:1.确认%JavaHome%/jre/lib/fonts目录下存在zyson

碎心的专栏 1306
上一篇: linux下cvs安装步骤
下一篇: Mysql学习笔记
sswt
博客等级 码龄24年 1粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值