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

c#图表不连续

将允许您绘制不会在直线上绘制点的点

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