私は複数のy軸を持つ複数系列の縦棒グラフを使用しています。 y軸は、配列内の最初のyAxisだけがgridLineWidth = 1になるように設定されます。残りはゼロです。ハイチャート - show、hide、またはlegendItemClickのグリッド線をオンまたはオフにする
yAxisがgridLineWidth = 1のシリーズアイテムをすべて非表示にすると、残りのシリーズアイテム(プライマリ以外のyAxisを使用するシリーズアイテム)ではグリッド線が全く表示されなくなります。私はゼロ...
に自分gridLineWidth年代を設定しているので、これは私が(だから、常にグリッド線の少なくとも1セットを表示しようとする試みで、私はplotOptions.column.events上hideとshowイベントを処理することを決めた理にかなっています
plotOptions: {
column: {
...
events: {
show: function (event) {
var series = this.chart.series;
var yAxes = this.chart.yAxis;
// first hide all the gridlines
_.each(yAxes, function (axis) { axis.gridLineWidth = 0; });
var firstVisibleSeries = _.find(series, function (ser) { return ser.visible == true; });
if (firstVisibleSeries != null) {
firstVisibleSeries.yAxis.gridLineWidth = 1;
}
this.chart.redraw();
}
},
...
},
},
...
私はUnderscore.jsを使用しています。また、最初にゼロに、すべてのgridLineWidth年代を設定し、最初の可視シリーズを探して、それはそうのように、1にY軸オブジェクトの上gridLineWidthを設定する)legendItemClickを試してみました_.each()メソッドと_.find()メソッド
ファイヤーバグを使用すると、すべてが見栄えが良いように見えます(最初の表示可能なシリーズアイテムのgridLineWidth = 1を意味し、その他はすべてメソッド実行の最後にゼロに設定されます)。
私が最後に抱いていたthis.chart.redraw()呼び出しを含め、私が何をしていても、yAxisオブジェクトの変更を処理するようには見えません。最初のyAxisを使用するすべてのシリーズ項目を非表示にすると、グリッド線はまだ表示されません。
私は何か間違っていますか?変更を永続させるための最後のステップがありますか、それともこの目標を達成するための別のアプローチがありますか?あなたの助け
EDITため
ありがとう:消えるグリッド線を示し、両方のお金」タイプのシリーズを隠す http://jsfiddle.net/kmkuntz/7NEhU/2/
:
は、ここで問題を提示しjsFiddleをです。