HighCharts で積み上げ棒グラフと縦棒グラフを作成する方法を理解しました。ただし、次のように、バー/列の外側に矢印を配置してその中のポイントを示すことができるようにしたいと考えています。
これは HighCharts で可能ですか? その例が見つかりません。
HighCharts で積み上げ棒グラフと縦棒グラフを作成する方法を理解しました。ただし、次のように、バー/列の外側に矢印を配置してその中のポイントを示すことができるようにしたいと考えています。
これは HighCharts で可能ですか? その例が見つかりません。
もちろん可能です。
これを実現するには 2 つの方法があります。
このアプローチでは、addl scatterchart series を作成します。散布図シリーズの値は、ここのように配置するのに役立ちますhttp://jsfiddle.net/p2MF6/
{
name: 'indicator',
data: [5],
type: 'scatter',
marker:{
//here you can have your url
symbol: 'circle',
}
}
を使用chart.rendere.image(src,x,y,length,height)
すると、チャート上の任意の画像をレンダリングできます。
座標を見つけることは大したことではありません。
これがあなたが探しているものであることを願っています
例: http://jsbin.com/oyudan/276/edit
三角形と関数を追加して散布位置を変更します (マーカーに線を追加する場合は、返されたパスを変更するだけです)。
var chart;
$.extend(Highcharts.Renderer.prototype.symbols, {
'triangle-left': function (a, b, c, d) {
return ["M", a, b + d, "L", a, b, a + c / 2, b + d / 2, "Z"];
}
});
Highcharts.updateMarketMarkers = function (chart,action) {
/* get category width */
var barWidth = chart.series[0].data[0].pointWidth / 2;
for(var i = 0; i < chart.series[2].data.length; i++){
var p = chart.series[2].data[i];
if(p.graphic){
p.graphic[action]({
x: p.plotX - barWidth - p.graphic.r
});
}
}
};
呼び出す必要があるときに、その関数をチャートに追加します。
chart: {
renderTo: 'container',
type: 'column',
showAxes: false,
events: {
load: function () {
Highcharts.updateMarketMarkers(this, 'attr');
},
redraw: function () {
Highcharts.updateMarketMarkers(this,'attr');
}
}
},
plotOptions: {
series: {
events: {
hide: function(e) {
Highcharts.updateMarketMarkers(this.chart,'animate');
},
show: function() {
Highcharts.updateMarketMarkers(this.chart,'animate');
}
}
},
}
本当にシンボルが必要な場合は、上記の回答のように散布シリーズのアプローチを使用します。
plotLine を描画することもできます:
http://api.highcharts.com/highcharts#yAxis.plotLines
もちろん、これには矢印は含まれませんが、この方法で線とラベルを描くことができます.IMO矢印はその時点では実際には必要ありません. FWIW