我使用HighCharts来绘制Json数据图。
我正在使用折线图选项,我填充了这样的点 -
C#
protected string intsAsJSArray
{
get
{
return string.Format("[{0}]", string.Join(",", listOfInts));
}
}
protected string datesAsJSArray
{
get
{
return string.Format("[{0}]", string.Join(",", listOfDates));
}
}
.aspx的
series: [{
type: 'area',
name: 'Count:',
pointInterval: 24 * 3600 * 1000,
pointStart: Date.UTC(2013, 10, 31),
data: <%= intsAsJSArray %>
}]
目前pointStart
是硬编码的,但我想要实现的是listOfDates
中的每个日期在图listOfInts
中为相应的int设置一个点。我想也许回到一个列表是个好主意,其中每一行都是int和日期的连接,即listOfRecords.Add(1,2013-10-31)
,然后在Javascript中将其拆分。我怎么能做到这一点?
答案 0 :(得分:0)
只需将x轴变量设置为等于列表。
var mydata = @Json.Encode(Model.intsAsJSArray);
var myHeaders = @Html.Raw(@Json.Encode(Model.datesAsJSArray));
$(function () {
$('#chart').highcharts({
xAxis: {
categories: myHeaders,
},
series: [{
name: 'Some data I have',
data: mydata
}]
});
});
您必须确保两个阵列的大小相同。您可以在视图模型中填充包含日期的数组。
答案 1 :(得分:0)
其他解决方案是对每个点使用x / y参数,使用highstock和set ordinal参数为false。