2

Highstockチャート ライブラリを使用して、Highstock 範囲セレクターを使用してカスタム YTD オプションを表示する方法はありますか?

現在、範囲セレクターで「ytd」のタイプを使用すると、デフォルトで暦年が使用されます。私のユースケースでは (金融機関の場合も考えていたでしょう)、4 月 1 日から 3 月 31 日までのデータを「ytd」オプションとして表示する必要があります。

4

2 に答える 2

3

ソースをハッキングしないと、おそらく不可能です。Highstock で見つけてください。

else if (type === 'ytd') {
        now = new Date(dataMax);
        year = now.getFullYear();
        newMin = rangeMin = mathMax(dataMin || 0, Date.UTC(year, 0, 1));
        now = now.getTime();
        newMax = mathMin(dataMax || now, now);
    }

ご覧のとおり、日付はハードコーディングされています。必要に応じて変更できます。

于 2013-02-14T12:34:49.783 に答える
1

これが私がやった方法です。以前の Financial YTD を見ることには対応していません (これは、私が必要とする一般的な使用例です) が、それを行うために何かをハックできると確信しています。

JSFiddleここ

$(function() {   
var startDate  = new Date("April 01, 2012 00:00:00");
var today = new Date();

var count =  parseInt((today.getTime() - startDate)/(24*3600*1000)) -1;

$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function(data) {
    // Create the chart
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'container'
        },
        rangeSelector : {
            selected: 1,
            buttonTheme: {
                width:100
            },
            buttons: [{                                                 
                    type: 'ytd',
                    count: 1,
                    text: 'Calendar YTD'
                },
                   {
                    type: 'day',
                    count: count,
                    text: 'Financial YTD'
                }]
        },
        title : {
            text : 'AAPL Stock Price'
        },
        series : [{
            name : 'AAPL',
            data : data,
            tooltip: {
                valueDecimals: 2
            }
        }]            
    } );
});   
});
于 2013-02-15T11:09:45.650 に答える