如何使用PrimeFaces和ChartJs显示时间戳数据?

如何使用PrimeFaces和ChartJs显示时间戳数据?,primefaces,chart.js,Primefaces,Chart.js,由于PrimeFaces的公共7.0版本包括ChartJs,我想我应该试试 它工作得很好,但到目前为止,我还无法在折线图中正确显示值随时间变化的数据 为此,chart.js具有笛卡尔时间轴,但在PrimeFaces中,只有笛卡尔线性可用 将日期对象(而不是字符串标签)馈送到ChartData只会导致不绘制x轴 在Primefaces中包含chart.js时,是我遗漏了什么,还是他们只是跳过了这个功能?好的,问题很好 首先,PF知道他们尚未实施时间,但有一个公开的问题: 第二,不用担心,您可以使用

由于PrimeFaces的公共7.0版本包括ChartJs,我想我应该试试

它工作得很好,但到目前为止,我还无法在折线图中正确显示值随时间变化的数据

为此,chart.js具有笛卡尔时间轴,但在PrimeFaces中,只有笛卡尔线性可用

将日期对象(而不是字符串标签)馈送到ChartData只会导致不绘制x轴

在Primefaces中包含chart.js时,是我遗漏了什么,还是他们只是跳过了这个功能?

好的,问题很好

首先,PF知道他们尚未实施时间,但有一个公开的问题:

第二,不用担心,您可以使用Extender功能使其正常工作。下面是我们使用的一个示例

  • 在图表的Java模型中,启用Extender功能
  • chartModel.setExtender(“chartExtender”);
    
  • 在XHTML中添加此JavaScript代码函数,以便在#1JavaBean中设置时匹配
  • 函数chartExtender(){
    //将配置选项复制到变量中
    var options=$.extend(true,{},this.cfg.config);
    选项={
    //删除图例
    图例:{
    显示:假
    },
    比例:{
    xAxes:[{
    显示:对,
    键入:“时间”,
    时间:{
    解析器:“h:mm:ssa”,
    tooltipFormat:'h:mm:ss a',
    单位:小时,
    显示格式:{
    “小时”:“h:mm:ss a”
    }
    }
    }],
    雅克斯:[{
    显示:对,
    scaleLabel:{
    显示:对,
    标签字符串:“你的Y轴”,
    尺寸:13,
    }
    }]
    }
    };
    //将所有选项合并到主图表选项中
    $.extend(true,this.cfg.config,options);
    };
    

    您可以从中查看可用的不同时间格式。

    作为扩展程序工作的补充,请使用this.cfg.config.options={

    例如:

    function extName() {
        this.cfg.config.options = {
            legend: {
               display: false
            }                    
        };
    };
    

    谢谢,这看起来很有希望!但是我无法让它工作-在视图加载时执行extender函数,但是没有应用设置。js控制台上没有缩放标签,没有颜色…也没有错误。我使用字符串作为数据点的标签,按照中作为“解析器”值给出的格式格式化扩展器,这是正确的方法吗?非常感谢您的帮助!!没关系,它现在正在工作。我没有复制options对象,而是直接在扩展器中操作了this.cfg.config,只交换了比例。也许您的解决方案正在工作,因为您的项目有特定的东西?是的,这就是为什么我要复制它d把它合并回来!好的,我明白了。你能修改你的答案吗,这样它就不需要项目细节了?我很乐意接受它!无论如何,非常感谢你给我指出了正确的方向!好的,我想我已经做得够详细了,让它变得不具体了!