我正在使用代码创建一个dotnet高图:
object[,] data1 = new object[Dt.Rows.Count, 2];
for (int i = 0; i < Dt.Rows.Count; i++)
{
data1[i, 0] = Dt.Rows[i]["IncDate"];
data1[i, 1] = Dt.Rows[i]["IncCost"];
}
object[,] data2 = new object[Dt2.Rows.Count, 2];
for (int i = 0; i < Dt2.Rows.Count; i++)
{
data2[i, 0] = Dt2.Rows[i]["ExpDate"];
data2[i, 1] = Dt2.Rows[i]["ExpCost"];
}
Highcharts chart = new Highcharts("graph")
.SetTitle(new Title { Text = "Money Analysis" })
.SetXAxis(new XAxis { Type = AxisTypes.Datetime })
.SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Amount (£)" } })
.SetSeries(new[]
{
new Series { Name = "Incomings", Color = Color.LimeGreen, Data = new Data(data1) },
new Series { Name = "Expenditures", Color = Color.Red, Data = new Data(data2) }
})
输出: 我想知道如何让红线沿着当前成本继续直到图表的结尾(传入的最后日期)。如果支出的日期晚于绿线,我也会对绿线做同样的事情。最后一次入学日期。希望人们知道我的意思。提前致谢
答案 0 :(得分:2)
所以,不 - 图表不会自动为你做这件事,但我们可以很容易地做到这一点。
1)检索数据的最终y值
2)检索您想要延长的最终x值,直到
3)使用那些x和y值为数据添加一个新点。
示例功能:
function extendData(series, axis) {
var ext = axis.getExtremes();
var x = ext.dataMax;
var y = series.data[series.data.length -1].y;
series.addPoint({'x':x, 'y':y, marker: { enabled: true }});
}
工作示例:
只是为了展示一个使用任意数量系列的例子:
示例图片: