2017-05-01 20 views
1

xaxisラベルの下にyaxis値を添付しようとしています。私は以下で達成しようとしていることを説明するために絵を準備しています。与えられたデータセットでハイチャートのx軸ラベルの下にy軸の値を追加する方法

enter image description here

基本的に私は、対応する年の最初の値を取得し、x軸のラベルの下にラベルとして、それを設定したいです。

データセットが添付された私のフィドルです。 http://jsfiddle.net/5df2mjmm/

現在、ここには私もちょうど2008 x軸に、毎年ショーを作成する方法を把握しようとないよ私は、x軸のために年間

xAxis: { 
    type: 'datetime', 
    dateTimeLabelFormats: { 
     day: '%d %b %Y' //ex- 01 Jan 2016 
    } 
    } 

を設定しています方法です、2010,2012,2014,2016。

私は何時も運がありませんでした。ハイチャートの達人が私を助けてくれたら大変感謝しています。

ありがとうございます。

答えて

2

ハイチャートは、ラベルのための十分なスペースがない場合、すべての年をレンダリングしません。これらのラベルをHighchartsに表示させるには、xAxis.tickInterval: 365 * 24 * 3600 * 1000を設定します。ラベルの問題について

、あなたがxAxis.labels.formatterを使用する必要があり、デモ:http://jsfiddle.net/5df2mjmm/4/

スニペット:tickIntervalセットでhttp://jsfiddle.net/5df2mjmm/9/

とデモ

xAxis: { 
    type: 'datetime', 
    tickInterval: 265 * 24 * 3600 * 1000, 
    labels: { 
    formatter: function() { 

     var currentX = new Date(this.value), 
     xIndex; 

     // Because labels in Highcharts are rendered at 1st of Month, 
     // But data is last day of the month, we need to jump to the last day of the January: 
     currentX.setUTCDate(31); 

     // xData stores base x-values for series, get current date index: 
     xIndex = this.axis.series[0].xData.indexOf(+currentX); 

     return Highcharts.dateFormat('%d %b %Y', this.value) + '<br>' + this.axis.series[0].yData[xIndex]; // the same as with xData, we can use yData 
    } 
    } 
}, 
+0

ねえパヴェルは、私は非常にあなたの助けに感謝。年間の数字の周りの簡単な質問。それらはすべて未定義に見えます。何か案は?再度、感謝します!! – BaconJuice

+0

あなたはどのタイムゾーンですか?両方のデモが私のために働いています。あなたは 'xIndex'をチェックできますか?それが-1でない場合は? 'currentX.setHours(hoursOffset)'も設定してみてください。 –

+0

こんにちはパベルはあなたの例をさらに見て、データセットが2008年ではなく2007年を示していることを発見しました。ここで最初のタイムスタンプは、console.log http://jsfiddle.net/5df2mjmm/7/をご覧くださいMon 12月31日2007 19:00:00 GMT-0500(EST)は記録されていませんか?それはまだ未定義を示しています。何か案は? – BaconJuice

関連する問題