You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Primefaces Chart坐标轴显示乱码求助(Chrome/Edge异常)

PrimeFaces图表日期轴/数量轴标签在Chrome、Edge乱码,Firefox正常

问题现象

开发的PrimeFaces折线图包含日期轴(X轴)和数量轴(Y轴),在Google Chrome(119.0.6045.124)、Edge(120.0.2210.91)浏览器中,两个坐标轴的标签均显示乱码,但Firefox(117.0.1 64位)显示正常。该问题在PrimeFaces V8官方示例页面多次刷新后也会出现。

效果对比

  • Firefox正常显示:
    Firefox正常显示效果
  • Chrome/Edge乱码显示:
    Chrome/Edge乱码效果

代码片段

XHTML部分

<p:chart id="chrtAuswertung" type="line" model="#{auswertungenOrdnerBean.dateModel}" widgetVar="chrtAuswertung" style="height:400px; margin-bottom: 2em;" />

Bean部分

dateModel = new LineChartModel();
DateAxis axis = new DateAxis("Datum");
axis.setTickAngle(-50);
axis.setTickFormat("%d.%m.%y");
axis.setMin(localDateStart.toString());
axis.setMax(localDateEnde.toString());

dateModel.getAxes().put(AxisType.X, axis);

使用版本

  • Google Chrome 119.0.6045.124
  • Edge 120.0.2210.91
  • Firefox 117.0.1(64位)
  • PrimeFaces 6.1.1

解决方案

这个问题是PrimeFaces依赖的旧版Chart.js在Chromium内核浏览器中存在的字体渲染bug,尤其是坐标轴标签旋转后容易触发。可尝试以下几种解决方式:

  1. 升级PrimeFaces版本
    PrimeFaces 6.1.1依赖的Chart.js版本较老,后续版本(如8.0+)已修复部分渲染问题。虽V8示例仍偶现,但新版本修复更全面,能大幅降低触发概率。项目允许的话优先升级到最新稳定版。

  2. 调整坐标轴标签旋转角度
    暂时减小或去掉setTickAngle的角度值,比如从-50调整为-30或0,可避免触发Chromium的字体渲染异常。修改Bean代码:

axis.setTickAngle(-30); // 或直接注释掉该行
  1. 强制设置坐标轴字体
    通过PrimeFaces的extender属性自定义Chart.js配置,强制指定坐标轴字体,规避浏览器默认字体的渲染问题:
  • 页面添加自定义JS函数:
function customizeChart() {
    this.cfg.scales.xAxes[0].ticks.fontFamily = 'Arial, sans-serif';
    this.cfg.scales.yAxes[0].ticks.fontFamily = 'Arial, sans-serif';
    this.cfg.scales.xAxes[0].scaleLabel.fontFamily = 'Arial, sans-serif';
    this.cfg.scales.yAxes[0].scaleLabel.fontFamily = 'Arial, sans-serif';
}
  • 修改<p:chart>标签添加extender属性:
<p:chart id="chrtAuswertung" type="line" model="#{auswertungenOrdnerBean.dateModel}" 
         widgetVar="chrtAuswertung" style="height:400px; margin-bottom: 2em;"
         extender="customizeChart" />
  1. 临时禁用硬件加速
    在Chromium浏览器中禁用硬件加速(设置→系统→使用硬件加速模式)可临时解决,但这是客户端设置,无法强制所有用户操作,仅作为排查手段。

内容的提问来源于stack exchange,提问作者kik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 06:07:29