jQplot formatString “%n”

这一生的挚爱 提交于 2019-12-24 14:43:26

问题


I've a little problem with jQplot. I'm trying to do a DateAxisRenderer like this : http://tinyurl.com/p8v5coh

And i've this : http://tinyurl.com/qd2lbxh

I don't want to make a rotation on my test. I just want to input a line break between my hour and my date.

There is my code :

var plot1 = $.jqplot('chart1', [test2], {
        title:'Plot to test JQPLOT',
        legend: {
            show: true,
            placement: 'outsideGrid'
        }, 

    axesDefaults: {
        tickRenderer: $.jqplot.CanvasAxisTickRenderer,
        tickOptions: {
            angle: 0,
            fontSize: '10pt'
        }
    },      


    axes: {
        xaxis: {
            label: "X Axis",
            renderer:$.jqplot.DateAxisRenderer, 
            tickOptions: {
                formatString: '%H %#.2f %n %#.2f %#d-%#m-%Y',
            },
            //min:'June 16, 2008 8:00AM', 
            tickInterval:'14400000',
        },
        yaxis: {
            label: "Y Axis",
            renderer: $.jqplot.LogAxisRenderer,  
            tickOptions: {
                angle: 0
            }
        }
    },
    highlighter: {
        show: true,
        sizeAdjust: 20,
    },
    cursor:{
        show: true,
        zoom: true,
        showTooltip:false
    },
    series:[{showMarker:false}],
});

As you can see, i've tried '%n' as it's write in the [official doc][1]. I think it's idiot, but I can't solve this problem myself. The line break doesn't work.

Can you show me the right way?

Ty

jqplot.com/docs/files/plugins/jqplot-dateAxisRenderer-js.html


回答1:


jqplot sometimes does strange things with axes and labels. That's why I usually manually define my own axes ticks like this:

axes: {
            xaxis: {
                tickRenderer: $.jqplot.CanvasAxisTickRenderer,
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                label: 'Date',
                tickOptions:{formatString:'%b %Y'},
                pad: 0,
                ticks: lsTicks,
                renderer: $.jqplot.DateAxisRenderer
            },

where lsTicks looks lomething like this:

["2014-01", "2014-02", "2014-03", "2014-04"]

and its length is the same as your data. To make things more readable, you can add tickOptions: {angle: -20},, so that your dates come in at an angle if you have too many to fit next to each other.

tickOptions:{formatString:'%b %Y'} says: display a 3 letter month, then a 4 digit year. For more options and info, see here.

Alternatively, you can use min, max and tickInterval, but I have found that they misbehave sometimes. See here and here for more.



来源:https://stackoverflow.com/questions/26115004/jqplot-formatstring-n

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!