我很难在基本高图上显示以日期分隔的字符串
我正在将Twitter上的推文保存到数组中,然后将数组转换为以逗号和引号分隔的字符串。
不幸的是我无法在图表上显示它们,我不知道我做错了什么。
function search(){
var value = $('#box').val();
var array=[];
var dateArray = [];
var dateString;
if (value!==""){$.getJSON("",
function(data){
$.each(data.results, function(i, item){
var user=item.from_user;
var created_at=new Date(item.created_at);
var month = created_at.getMonth();
var day = created_at.getDate();
var year = created_at.getFullYear();
var created= day +'/'+ month+ '/'+ year;
array.push({date:created,username:user});
});
// console.log(array);
for (var i in array) {
dateArray.push(array[i].date);
}
dateString="'" + dateArray.join("','") + "'";
console.log(dateString);
});
}
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: [dateString]
},
答案 0 :(得分:2)
您的x轴参数应如下所示:
xAxis: {
categories: dateString
},
Als,只需改变一下: - )
for (var i in array) {
dateString.push(array[i].date);
}
highchart(dateString);
哦,你应该明确地改变这一点。
<input type="text" id="box" value="a"/>
额外调查信息
它似乎(在旧的情况下)
console.log(stringArray);
highchart(stringArray);
是空的。你会通过
吗?highchart(["ab", "b", "c"]);
那你就没事了。这是因为您传递的是一个空数组,而是在获得JSON数据之前创建了图表。因此,我将创建移动到JSON函数。
答案 1 :(得分:0)
为什么不将xAxis用作datetime:
xAxis: {
type: 'datetime'
},
从twitter数据中将日期解析为JS时间,并将其作为您的系列数据数组:
[[<jstime1>, "big cool tweet1"], [<jstime2>, "big cool tweet2"]]