私はZingChartライブラリを使用して、API呼び出しの結果をグラフ化しています。グラフデータオブジェクトの「値」フィールドの通常の配列を渡すと、すべて正常に動作します。私は(titleSet
が通常のJavaScriptオブジェクトである)Object.keys(titleSet)
から製造された配列を渡すときただし、グラフが表示され、次のように:あなたが見ることができるようにZingChart文字列の代わりに数値として表示されるX軸ラベル
は、x軸は、現在の番号で標識されています文字列の配列の代わりに。しかし、私がObject.keys(titleSet)
の結果と通常の配列を渡した結果をプリントアウトすると、どちらもコンソールに表示されます。誰かが私が間違っていることを理解するのを助けることができますか?
//List of movies inputted by the user
var movieList = [];
var movieSet = {};
var IMDBData = {
"values": [],
"text": "IMDB",
};
var metascoreData = {
"values": [],
"text": "Metascore"
};
var RTMData = {
"values": [],
"text": "Rotten Tomatoes Meter"
};
var RTUData = {
"values": [],
"text": "Rotten Tomatoes User"
};
var chartData = {
"type":"bar",
"legend":{
"adjust-layout": true
},
"plotarea": {
"adjust-layout":true
},
"plot":{
"stacked": true,
"border-radius": "1px",
"tooltip": {
"text": "Rated %v by %plot-text"
},
"animation":{
"effect":"11",
"method":"3",
"sequence":"ANIMATION_BY_PLOT_AND_NODE",
"speed":10
}
},
"scale-x": {
"label":{ /* Scale Title */
"text":"Movie Title",
},
"values": Object.keys(movieSet) /* Needs to be list of movie titles */
},
"scale-y": {
"label":{ /* Scale Title */
"text":"Total Score",
}
},
"series":[metascoreData, IMDBData, RTUData, RTMData]
};
var callback = function(data)
{
var resp = JSON.parse(data);
movieSet[resp.Title] = true;
//Render
zingchart.render({
id:'chartDiv',
data:chartData,
});
};
通常、前後のグラフ設定を投稿するのは非常に便利です。より堅固な答えを得るためにコードを投稿してください。 – nardecky
自分の回答を編集して自分の設定を追加しました。 – pomtree