jqplot.dateAxisRenderer刻度格式选项中的换行符%n不起作用

时间:2017-06-19 08:36:19

标签: primefaces jqplot

我正在使用Netbeans / JSF / Primefaces6.1开发一个Web应用程序,我希望在其中显示带有日期/时间X轴的折线图。我根据以下链接设置时间格式, http://www.jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html

我想使用新的行字符%n将日期渲染为两行

2014-01-01
02:10:52

而不是只有一行

2014-01-01 02:10:52

但是,%n不起作用,后者总是呈现如下,这意味着%n呈现为空格并且日期/时间重叠。 enter image description here

我使用Primefaces DateAxis类如下

private LineChartModel initLinearModel() {
    LineChartModel model = new LineChartModel();
    series.setLabel("Series 1");
    model.setExtender("lineChartExtender");
    model.addSeries(series);

    series.set("2014-01-01 00:10:50", 51);
    series.set("2014-01-06 01:10:51", 22);
    series.set("2014-01-12 02:10:52", 65);
    series.set("2014-01-18 03:10:53", 74);
    series.set("2014-01-24 04:10:54", 24);
    series.set("2014-01-30 05:10:55", 51);

    model.getAxis(AxisType.Y).setLabel("Values");
    DateAxis axis = new DateAxis("Dates");
    axis.setMax("2014-02-01");
    axis.setTickFormat("%Y-%m-%d%n%H:%M:%S");
    model.getAxes().put(AxisType.X, axis);

    return model;
}

或使用扩展程序中的低级jqPlot配置,如下所示,它不起作用。

    function lineChartExtender() {
        this.cfg.axes = {
            xaxis : {
                renderer : $.jqplot.DateAxisRenderer,
                tickRenderer : $.jqplot.CanvasAxisTickRenderer,
                tickOptions : {
                    formatString : "%b %#d %n %H:%M:%S",
                    angle : -30
                },
                drawMajorGridlines : false
            },
            yaxis : {
                // Other Options for Y Axis
            }
        };
    }

那么如何才能让jqPlot中的换行符%n正常工作?

1 个答案:

答案 0 :(得分:0)

我发现如果我从xaxis中删除了tickRenderer : $.jqplot.CanvasAxisTickRenderer,那么换行格式就会记录下来。