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

我想像标签计数的高图一样这个url见示例: http ://www.highcharts.com/demo/column-stacked

请告诉我,如果我可以使用解决方案那么这将是很好的帮助……

我有一个解决方案,因为它似乎独立于stackedValue参数的值,堆积条的值总是相加。

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

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

  • 使最后一个系列(第5个)看不见,它的阴影几乎透明,

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

我的解决方案可以在这里找到。


编辑

我最近发现这里已经有了解决这个问题的方法。

在总结问题上:你偶然发现了一个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错误的修复方法。

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

要显示栏内的值,只需修改本地页面上的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属性,以获得更礼貌的方法。 对于总和function,请参阅此解决的线程 。

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