2014-01-07 59 views
0

Highcharts;這可能嗎? json的xAxis類別?

我想用json在列圖表中動態地改變類別。事情是這樣的......

[{y:1,"other":"other","category":"namecategory"}....] 

..

xAxis: { 
        categories: this.category, 
        maxZoom: 1 
       }, 

這可能嗎?

謝謝。 :D

+0

您需要發佈一些代碼。您可以將json解析爲javascript對象,更改要修改的參數並重新渲染圖表。 –

+1

maxZoom是depracated,所以我建議使用afterSetExtremes和檢查範圍。 –

+0

我在api中看到,然後用minRange替換。 – luckasx

回答

0

好吧,也許你可以嘗試這樣的事:

var jsonData = [{ 
    "y": "1", 
     "other": "other", 
     "category": "namecategory1" 
}, { 
    "y": "2", 
     "other": "another", 
     "category": "namecategory2" 
}]; 

// var jsObject = JSON.parse(jsonData); 
var categories = new Array(); 
for (var p in jsonData) { 
    categories.push(jsonData[p].category); 
} 
chart.xAxis[0].setCategories(categories); 
0

我認爲你需要設置類別爲數組原始js類型,如數字或字符串。

實施例:

categories: ['Apples', 'Bananas', 'Oranges'] 

由於它是這裏提到::http://api.highcharts.com/highcharts#xAxis.categories「如果類別是存在用於x軸,名稱來代替該軸數字」。

也許,當你提到JSON時,你是在談論對象文字? (因爲您的示例中的「y」鍵未引用。)

實際上,您可以使用對象文字數組。但是它們將在xAxis中顯示爲「[Object]」。

對象文字是一對圍繞零個或多個名稱/值 對的大括號。對象常量可以在任何地方出現的表達會出現:

var empty_object = {}; 
var stooge = { 
first_name: "Jerome", 
last_name: "Howard" 
}; 

圍繞一個屬性的名稱引號中的對象的文字是可選的,如果名稱將是一個合法的JavaScript 名稱而不是保留字。

也許你可以預處理你的JSON數據,構建一個數組用於類別。

+0

這種方式我已經知道了。我想要的是如果可能的話,用一個json文件「填充」圖表數據和類別。 – luckasx

+0

你打算使用包含在你的JSON文件中的特定「鍵/值」來顯示在xAxis中嗎?給我們一個你的JSON文件的樣本。 –

+0

現在y引用。 '[{「」y「」:1,「other」:「other」,「category」:「namecategory」}]' – luckasx

1

您可以動態加載您的類別,即通過json或其他,然後使用setCategories,它允許動態更改類別。

+0

見上面的評論。 – luckasx