dojox.charting:如何对齐2个图表的plotArea,一个在另一个上面?

时间:2010-06-23 08:16:45

标签: dojo dojox.charting

我正在尝试布置2个链接图表,一个在另一个之上,类似于您在Google财经页面上看到的图表。

我可以很好地渲染两个图表,但让plotAreas完全排列是一个有点神秘的地方。每个图表的chart.plotArea.width似乎取决于我的Y轴标签的宽度。因此,2个图表的宽度不同,chart.getCoord().l.

的值不同

现在,我正在使用手动计算的偏移量,但必须有更好的方法。

 this.chart.render();  // top chart, getCoords().w=800

 // manually set margins for lower chart to match
 this.chartVol.margins.l = this.chart.offsets.l - 59 + 10;  
 this.chartVol.margins.r = this.chart.offsets.r - 31 + 10;

 // render bottom chart
 this.chartVol.render();  // bottom chart same width, getCoords().w=800

1 个答案:

答案 0 :(得分:0)

有两种简单的方法可以做到:

  1. 使用maxLabelSizelabelFunc。前者是最大标签的大小(以像素为单位)。后者是一个函数,它接受一个数字,并返回一个相应的字符串标签。
  2. 使用labels,这是一个{value, text}个对象的数组,并在末尾包含一个所需大小的长虚拟字符串,并带有一些虚假值。
  3. 我不记得没有自定义标签的方法,所以如果您觉得确实需要,请submit an enhancement ticket