2013-02-15 20 views
7

Lütfen y-ekseni etiketinin ayarlanma yolunu tartışmak için Highcharts text labels for y-axis'a bakınız.Highcharts TypeScript, y ekseni etiketi

TypeScript tanımımda https://github.com/borisyankov/DefinitelyTyped/blob/master/highcharts/highcharts.d.ts kullandım, ancak y ekseni biçimlendiricisini tanımlamanın bir yolunu bulamadım.

Daha önce hiç denemiş olan var mı?

- Güncelleme -

My Origianl JavaScript kodu Her çubuk olan bir this.value sahip kod

var yearChartOptions = { 
    yAxis: { 
     plotLines: [{ 
      label: { 
       formatter: function() { 
        return '$' + Highcharts.numberFormat(this.value/1000, 0) +'k '; 
       } 
      }, 
     }] 
    }, 
}; 

// Create the chart 
var yearChart = new Highcharts.Chart(yearChartOptions); 

olan değeri (I çubuk grafik kullanılır). TypeScript'te (henüz diziyi kaldırmak için değiştirmedim).

var yearChartOptions: HighchartsOptions = {}; 
    yearChartOptions.chart = {}; 
    yearChartOptions.yAxis = []; 
    yearChartOptions.yAxis[0] = {}; 
    yearChartOptions.yAxis[0].plotLines = {}; 
    yearChartOptions.yAxis[0].plotLines.label = {}; 
    yearChartOptions.yAxis[0].plotLines.label.style.formatter(() => "$" + Highcharts.numberFormat(this.value/1000, 0) + "k "); 

    // Create the chart 
    var yearChart = new Highcharts.Chart(yearChartOptions); 

çıkış

/* 
Compile Error. 
See error list for details 
D:/MyProject/Scripts/test.ts(36,56): The property 'formatter' does not exist on value of type 'HighchartsCSSObject' 
D:/MyProject/Scripts/test.ts(36,107): The property 'value' does not exist on value of type 'Dashboard' 
*/ 

olduğunu Ve derlemek olmaz.

+0

olası yinelenen http://stackoverflow.com/questions/4987457/highcharts-text-labels-for-y-:

Tam çalışma örnek, koduna göre eksen) –

+1

Bunun bir kopya olduğunu sanmıyorum. Poster bu cevapta olduğu gibi kod kullanmaya çalışıyor ancak TypeScript derleyicisi bunu reddediyor. – Fenton

+0

@hardywang güncellenmiş tanımı sorununuzu çözdü mü? – Fenton

cevap

2

Güncelleştirme - Definitely Typed Highcharts definition şimdi düzeltme ekledim, bu yüzden en son sürümü karşıdan yükleyebilir ve umarım sorunu çözer.

Highcharts için tür tanımı, yAxis için bir dizi seçenek dizisini geçmeniz gerektiğini önerir. Bu, TypeScript'te derler.

var chart = new Highcharts.Chart({ 
    yAxis: [{ 
     labels: { 
      formatter: function(): string { 
       return 'My Label'; 
      } 
     } 
    }] 
}); 

Ancak, bu değil, bu nesnelerin çoğunun bir dizi olarak, the documentation, which suggests you pass the yAxis options as an object aynı olduğundan emin değilim. Bu aynı zamanda bakış açınızdan tek bir yAxis'e sahip olduğunuzu da anlamlandırmaktadır. Sen highchart.d.ts burada dosyasını ayarlayabilirsiniz

...

interface HighchartsOptions { 
    chart?: HighchartsChartOptions; 
    // others... 
    yAxis?: HighchartsAxisOptions; // <-- remove the [] from this line 
} 

Ben

/// <reference path="highchart.d.ts" /> 

var yearChartOptions: HighchartsOptions = { 
    yAxis: { 
     plotLines: { 
      label: { 
       formatter: function(): string { 
        return '$' + Highcharts.numberFormat(this.value/1000, 0) + 'k '; 
       } 
      }, 
     } 
    } 
}; 


// Create the chart 
var yearChart = new Highcharts.Chart(yearChartOptions); 
sunmuş:

Ben geçerli sürümü (yani değil diziler) olduğuna inandıkları şey elde etmek için Bunu düzeltmek için Kesinlikle Yazılan bir çekme isteği.

[y ekseni için Highcharts metni etiketleri] (içinde
+0

Hala derleme hatası vardı, çünkü 'yearChartOptions.yAxis.plotLines.label.style.formatter (() =>" $ "+ Highcharts.numberFormat (this.value/1000, 0) +" k ");' biçimlendirici değil bulundu ve 'bu' anahtar kelime tanınmıyor. Http://stackoverflow.com/questions/4987457/highcharts-text-labels-for-y-axis ve http://api.highcharts.com/highcharts#yAxis.labels.formatter – hardywang

+0

belgesini inceleyin. 'Emin olanı elde etmek için geçerli versiyon' yorumu. – Fenton

+0

Teşekkürler, nesne içinde nesneyi başlatmak için sözdizimi denedim ve çalışır. Yollarımda yanlış olan şeyden emin değilim, nesneyi örneklendirin, sonra nesnenin özelliklerini ayarlayın ama işe yaramıyor. – hardywang

İlgili konular