Tôi đang sử dụng thư viện ZingChart để vẽ đồ thị kết quả từ cuộc gọi API. Khi tôi vượt qua trong một mảng bình thường cho trường "giá trị" của đối tượng dữ liệu biểu đồ, mọi thứ hoạt động tốt. Tuy nhiên, khi tôi vượt qua trong một mảng làm từ Object.keys(titleSet)
(nơi titleSet
là một đối tượng javascript bình thường), biểu đồ hiển thị như sau:Nhãn trục ZingChart hiển thị dưới dạng số thay vì chuỗi
Như bạn thấy, trục x hiện dán nhãn với số thay vì mảng chuỗi. Nhưng khi tôi in kết quả của Object.keys(titleSet)
so với truyền trong một mảng bình thường, cả hai đều xuất hiện giống nhau trong bảng điều khiển. Bất cứ ai có thể giúp tôi tìm ra những gì tôi đang làm sai?
//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,
});
};
Thông thường sẽ rất hữu ích nếu chúng tôi đăng cấu hình biểu đồ trước và sau. Vui lòng đăng mã của bạn để nhận được câu trả lời kiên cố hơn. – nardecky
Đã chỉnh sửa câu trả lời của tôi để bao gồm cấu hình của tôi. – pomtree