JQPlot 堆积条形图每个堆积标签计数而不是累加计数

6
我希望每个标签都显示标签文本,而不是段落总数。
例如,2、7、14应该在堆叠条形图中以2、7、14的形式显示,然后23是总数。但目前在示例中,它显示的是段落总数-第一个条形图为空,然后是2、2+7=9,总计=23(9+14)。
JQ Plot显示(堆叠条形图-第三个图形): http://www.jqplot.com/tests/bar-charts.php 我想要像这个网址一样的高图表,用于标签计数,请参见示例: http://www.highcharts.com/demo/column-stacked 请告诉我是否可以使用解决方案,那将是很大的帮助...
4个回答

6
我有一个解决方法,似乎无论stackedValue参数的值如何,堆叠条的值总是被累加。我的解决方案包括:
  • 添加一个额外的系列作为总和,填充它的值都相同(即3),因为它们的唯一作用是定位标签。

  • 将最后一个系列(第5个)设置为不可见,其阴影几乎透明。

  • 直接使用每个系列上的标签,而不是让脚本决定放置什么,否则显然会对值求和。

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


编辑

我最近发现这个问题已经有一个解决方案了,可以在这里找到。


1
关于求和问题:您遇到了jqplot的一个bug。
如果您打开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回答了您关于标签放置的问题。


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;
}

您还可以尝试使用PointLabel属性,例如ypadding,以更礼貌的方式进行操作。 有关其他功能,请参阅已解决的线程


0
Boro的解决方案对我很有效,但是如果您需要图例,则图例中将有一个额外的项目,这可能不是您所期望的。我已经使用了Boro的解决方案,并且将图例与jqplot对象分开。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接