c#图表不连续
本文关键字:不连续 | 更新日期: 2023-09-27 17:51:18
我对折线图有一个问题。我的数据不是连续的,因为只有当程序工作时才测量值。
我想只在数值接近一小时时画一条线,因为我不想要任何线(在图表中)。
代码如下:
chart1.Series[dataTable.Columns[x].Caption].ChartType =
System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
for (int i = 0; i < dataTable.Rows.Count - 1; i++)
chart1.Series[dataTable.Columns[x].Caption].Points.AddXY(dataTable.Rows[i][0], dataTable.Rows[i][x]);
next
将允许您绘制不会在直线上绘制点的点
chart1.Series[dataTable.Columns[x].Caption].Points.Add(new DataPoint(dataTable.Rows[i][0], double.NaN) { IsEmpty = true });
如果您不想在一小时内绘制值,请尝试在for循环中使用if语句来控制绘制的点
for (int i = 0; i < dataTable.Rows.Count - 1; i++)
//assuming dataTable.Rows[i][0] is time, then if the the value is in the
//last hour [DateTime.Now.AddHours(-1)] the if statement will allow the
//point to be plotted, otherwise it wont plot
if (dataTable.Rows[i][0] > DateTime.Now.AddHours(-1)) {
chart1.Series[dataTable.Columns[x].Caption].Points.AddXY(dataTable.Rows[i][0], dataTable.Rows[i][x]);
}
next