4

JFiddleで複製できたという問題があります。リンク: http: //jsfiddle.net/h5sSR/

$(function() {
var chart = new Highcharts.StockChart({

    chart: {
        renderTo: 'container'
    },

    tooltip: {
        backgroundColor: {
            linearGradient: {
                x1: 0, 
                y1: 0, 
                x2: 0, 
                y2: 1
            },
            stops: [
                [0, 'white'],
                [1, '#EEE']
            ]
        },
        xDateFormat: '%m/%e/%y %H:%M',
        borderColor: 'gray',
        borderWidth: 1
    },

    rangeSelector: {
        selected: 1
    },

    series: [{
        name: 'USD to EUR',
        data: usdeur
    }]
});
});

問題:ツールチップの下で常にxDateFormat属性を適用する必要があります(// )。少量のデータを選択した場合に完全に機能します。表示するデータが大量に選択されている場合は、別の形式が使用されます。

:JFiddleで試してみてください(上記のリンク)。少量のデータが表示されるように初期化され、ホバーすると、次のように日付が表示されます:12/3/12 0:0。それは最高です。次に、ナビゲーターを先頭にドラッグしてグラフにカーソルを合わせると、DateFormatが(Week from Day of WeekMonth DayYear)に変わります。

解決方法:これが発生する理由と、表示されているデータの量に関係なく、常にxDateFormat属性を適用するにはどうすればよいですか?

4

3 に答える 3

5

ドキュメントをご覧ください:http ://api.highcharts.com/highstock#tooltip.xDateFormat

ツールチップヘッダーの日付の形式。データのグループ化が使用されている場合、デフォルトは、最も近いポイントがどれだけ近いかに基づいた賢明な推測です。これは、#plotOptions.dataGrouping.dateTimeLabelFormats配列から取得されます。

ここで、何を変更する必要があるかを確認できます。http: //api.highcharts.com/highstock#plotOptions.series.dataGrouping.dateTimeLabelFormats-すべてのフォームに同じ形式で適用され、正常に機能します。

于 2013-03-05T13:01:19.310 に答える
3

これを解決した新しいコードは次のとおりです(Pawel Fusが私をソリューションにリンクした後):

plotOptions : {
                    series : {
                        dataGrouping : {
                            dateTimeLabelFormats : {
                                millisecond: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                second: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                minute: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                hour: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                day: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                week: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                month: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M'],
                                year: ['%m/%e/%y %H:%M', '%m/%e/%y %H:%M', '-%H:%M']
                            }
                        }
                    }
                },

それは「やり遂げる」でしょう。そして、ここに更新されたJFiddleリンクがあります:http://jsfiddle.net/h5sSR/1/

于 2013-03-05T16:57:15.370 に答える
0

HighStockchartは、デフォルトでデータをグループ化します。 https://api.highcharts.com/highstock/plotOptions.series.dataGrouping.dateTimeLabelFormats

私の場合、データのグループ化を無効にして、xDateFormatを設定するだけでうまくいきました

plotOptions: {
        series: {
          dataGrouping: {
            enabled: false
          }
        }
}
于 2021-12-15T18:24:44.660 に答える