私は棒グラフを表示するためにハイチャートを使用しています。棒グラフは2つの棒が重なって表示され、その右側にはデータラベルが表示され、正確な値が表示されます。値に応じてハイチャートのデータラベルを配置することはできますか?
ここでの問題は、値が80%を超えると、ラベルがグラフからフレームにあふれていること、他のテキストを上書きして両方を読むことができなくなることです。ここで
は私plotOptions
です:
plotOptions: {
bar: {
groupPadding: 0.5,
pointWidth : 30,
borderWidth: 0,
dataLabels: {
enabled: true,
y:-5,
color:"black",
style: {
fontSize: "12px"
},
formatter: function(){
if(this.y > 80)
{
this.series.chart.options.plotOptions.bar.dataLabels.x -= 20;
}
if(this.series.name == "Tests OK")
return "Tests OK : <strong>"+Math.round(this.y*10)/10+"%</strong>";
else
return "<br/>Tests Executed : <strong>"+Math.round(this.y*10)/10+"%</strong>";
}
}
}
}
私はthis.series.chart.options.plotOptions.bar.dataLabels.x -= 20;
を使用して、私は外出先でのチャートオプションを編集できると思っていたが、これは動作しません。
確かに私はそのような問題に遭遇した最初の人ではありません。何か案が ?代わりの
this.series.chart.options.plotOptions.bar.dataLabels.x -= 20;
はあなたが使用できるように見える
私は自分自身をこの一部を把握しようとしてきたおかげで
ありがとうそれはいくつかの取り決めの後に働いた。私のチャートはビルド時にデータをロードしません。なぜなら、ページに3つの大規模なチャートがあるからです。代わりに、ページが完全に読み込まれた後で個別に実行されます。このコードは、データがグラフに挿入された後に使用され、再描画される必要があります。 – 3rgo
@ Squ36:どうぞよろしくお願いいたします。 –