在JQPlot的堆积条形图中隐藏0值堆栈栏

时间:2014-06-03 12:54:57

标签: javascript jqplot

我使用JQPlot生成堆积条形图,其中几个堆栈可能具有O值。我的要求是我不想显示该值为0的O级别。请让我知道我应该使用什么JQPLOT API

我的代码:

function getChart2()
    {
        var s1 = [32.40, 80.00, 80.00, 16.94, 72.12, 78.10, 80.00];
        var s2 = [0.00, 12.34, 3.68, 0.00, 0.00, 0.00, 15.67];

        var ticks = ['A', 'B', 'C', 'D','E','F','G'];
  plot3 = $.jqplot('chartdiv', [s1, s2], {
    // Tell the plot to stack the bars.
    stackSeries: true,
    captureRightClick: true,
    seriesDefaults:{
      renderer:$.jqplot.BarRenderer,
      rendererOptions: {
          fillToZero: true, barDirection: 'horizontal'
      },
      pointLabels: {show: true}
    },
    axes: {
      xaxis: {
           pad: 1.05,
           tickOptions: {formatString: '%.2f %'},
           formatter:function() {if(this.x > 0.00) {
      return this.x;
    } }
      },
      yaxis: {
         renderer: $.jqplot.CategoryAxisRenderer,
         ticks: ticks
      }
    },
    legend: {
      show: true,
      location: 'e',
      placement: 'outside'
    }     
  });
    }

enter image description here

2 个答案:

答案 0 :(得分:3)

我使用了hideZeros:true选项,它现在正在运行。

pointLabels:{show:true,hideZeros:true,labelsFromSeries:true,xpadding:6}

答案 1 :(得分:0)

嘿,伙计们,谢谢你帮助我 我设法解决了我的问题

我用它来解决我的问题:

stackSeries:true,     captureRightClick:true,     seriesDefaults:{         渲染器:$ .jqplot.BarRenderer,         rendererOptions:{             highlightMouseDown:true,             barWidth:40,         },

    pointLabels: {
        show: true,
        formatString: '%s',
        formatter: function val(x, y) {

            //my Solution
            if (y != 0)

                return y.toString().toHHMMSS();
        },
    },

},