JQPlot堆叠条形每个堆叠标签计数而不是累积(增量)计数

时间:2011-12-22 13:34:49

标签: jquery asp.net charts jqplot

我想显示标签文字,而不是每个标签的分段总数。

类似,2,7,14应该在堆叠条中,分别为2,7,14,然后是23。但目前在exmaple中显示的是段总数 - 第一个栏为空,然后是2,2 + 7 = 9,总计= 23(9 + 14)。

JQ图显示(堆积条形图 - 第3图): http://www.jqplot.com/tests/bar-charts.php

我想像标签计数的高清图这样的网址参见示例: http://www.highcharts.com/demo/column-stacked

如果我能使用解决方案,请告诉我,那将是非常有帮助的......

4 个答案:

答案 0 :(得分:6)

我有一个解决方案,因为看起来独立于stackedValue参数的值,堆积条的值总是总结。

我对此问题的解决方案包括:

  • 添加另外一个作为总和的系列,你填充它的值都是相同的(即3),因为它们唯一的作用是定位标签,

  • 使最后一个系列(第5个)不可见且其阴影几乎透明,

  • 并直接使用每个系列上的标签,而不是让脚本决定放在那里的内容,否则显然会对这些值进行总结。

My solution could be found here.


修改

I have recently spotted that there already was a solution for this problem available here.

答案 1 :(得分:1)

关于求和问题:你偶然发现了一个jqplot错误。

如果您打开jqplot.pointLabels.js,请查看从第172/173行开始的代码:

var d = this._plotData;

如果您要将其更新为

var d = this._plotData; 
if (p.stackSeries) {
    var d = this.data;
}

当您调用图表时,请在系列选项中使用与此类似的内容:

pointLabels: { show: true, stackedValue: false, stackSeries: true }

您将能够使用PointLabels stackedValue属性关闭堆叠求和。

stackedValue错误的修复程序详细here

jmva回答了有关标签放置的问题。

答案 2 :(得分:0)

要显示栏内的值,只需修改本地页面上的css .jqplot-point-label属性,这可以在JQPlot演示页面中使用:

.jqplot-point-label {
      font-size:.75em;
      z-index: 2;
      /* Add some margin to get values into the bar */
      margin-top: 24px;
}

您还可以尝试使用ypadding之类的PointLabel属性来获得更礼貌的方法。 有关总和功能,请参阅此solved thread

答案 3 :(得分:0)

Boro的解决方案对我有用,但是,如果你需要这个图例,你将在图例中再添一个项目,这可能不是你所期望的。我使用了Boro的解决方案,并且使图例独立于jqplot对象。