jqPlot使用canvastickrenderer手动定义的刻度标签

jqPlot Using manually defined tick labels with canvastickrenderer

本文关键字:标签 定义 使用 canvastickrenderer jqPlot      更新时间:2023-12-04

我需要手动定义x轴上的刻度标签。只要我使用CategoryAxisRenderer,它就可以正常工作,但我想使用tickRenderer: $.jqplot.CanvasAxisTickRenderer旋转标签。现在,x轴在一个步骤中自动标记为从0到xx。

要使用手动定义的数组,我该怎么办?

带有旋转标签的完整代码看起来像:

`$(document).ready(function () {
    var data_array = <?php echo json_encode($data) ?>;
    var s1 = new Array;
    var s2 =  new Array;
    var ticks = new Array();
      $.each(data_array, function (j, elem) {
            $.each(elem, function (i, elem) {
            s1[i] = parseInt(elem['up']);
            s2[i] = parseInt(elem['down']);
            ticks[i] = parseInt(elem['minute']);
            if(ticks[i]%5!=0){
                ticks[i]='';
            }
            });
   $.jqplot(elem['name'], [s1,s2],{
       title:elem['name'],
        stackSeries: true, 
    seriesColors:['#33CC00','#FF3300'],         
        seriesDefaults:{
            renderer:$.jqplot.BarRenderer,
             rendererOptions: {
                 fillToZero: true,
                varyBarColor: true
              }
        },
        axes: {
            yaxis: {  pad: 1.05},
            xaxis: {
                renderer: $.jqplot.CategoryAxisRenderer,
                ticks: ticks,
                showLabel: true,
                tickOptions: {
                     angle: 30,
                     labelPosition:'start',
                 },
            }
        },
        axesDefaults: {
              tickRenderer: $.jqplot.CanvasAxisTickRenderer,
        }
       }//end jqplot
   );
    });
 });`

目前,ticks数组只填充了数字,但稍后会包含一些文本标签。当我注释掉tickRenderer: $.jqplot.CanvasAxisTickRenderer时,我的记号数组显示为x轴标签。

我尝试了几种选择,但找不到解决方案。

有人能帮我吗?提前感谢!

我终于解决了这个问题。我不知道为什么,但提供像ticks[i]=' '这样的空格字符而不是ticks[i]=''解决了这个问题。

相关文章: