J'essaie de mettre en page 2 graphiques liés les uns au-dessus des autres, similaires à ceux que vous pouvez voir sur la page Google Finance.dojox.charting: comment aligner le plotArea de 2 cartes, l'une au-dessus de l'autre?
Je peux rendre les deux graphiques très bien, mais il est un peu mystérieux d'aligner exactement les tracés. Le graphique chart.plotArea.width de chaque graphique semble dépendre de la largeur de mes étiquettes d'axe Y. Donc les 2 graphiques n'ont pas la même largeur et ont des valeurs différentes pour chart.getCoord().l.
Pour le moment, j'utilise un offset qui est calculé manuellement, mais il doit y avoir un meilleur moyen.
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
J'ai essayé d'utiliser la même ficelle pour les étiquettes, mais les tracés sont toujours décalés de quelques pixels. Q: Où est le doc pour maxLabelSize? à quelle classe appartient-il? J'ai essayé chart.addAxis ('y', {maxLabelSize: 5}) mais ça n'a pas semblé faire quoi que ce soit. – michael
A: dans le code source de dojox/charting/axis2d/Default.js pour le moment. En ce qui concerne votre tentative infructueuse: {maxLabelSize: 5) est de 5 pixels. Je doute que c'était l'idée. Et vous devez l'utiliser avec labelFunc. Voir le corps de ma réponse ci-dessus. –