c#折线图删除额外间隔

时间:2017-08-20 15:14:26

标签: c# charts

当我在x轴上创建一个带有日期的c#折线图,并将间隔设置为1时,我得到一个带有每个数据点间隔的折线图,这正是我想要的。但是,在第一个数据点之前和最后一个数据点之后有一个额外的间隔。

这是我发布图表图片的地方,但我不能,因为我没有10个声誉

如果我尝试使用ToOADate()设置AxisX最小值和最大值,如其他几个帖子中所建议的那样,我的图表区域变为黑色。

这里是我发布黑色图片的图片,但我无法发布,因为我没有10个声誉

这是我用来创建系列的代码。

    Series lakeVals = new Series("LakeData");
    lakeVals.ChartType = SeriesChartType.Line;
    int i = 0;
    DateTime dateVal;
    dateVal = DateTime.Now;
    foreach (System.Data.DataRow row in dataTable.Rows)
    {
        if (row[_rd.ChartType].ToString() != "")
        {
            dateVal = (DateTime)row["recdate_vc"];
            lakeVals.Points.AddXY(dateVal.ToString("MM/dd/yyyy"), row[_rd.ChartType]);
            lakeVals.Points[i].AxisLabel = dateVal.ToString("MM/dd/yyyy");
            if (i == 0)
            {
                //LakeChart.ChartAreas[0].AxisX.Minimum = dateVal.ToOADate();
            }
            i++;
        }
    }

    lakeVals.MarkerStyle = MarkerStyle.Circle;
    lakeVals.MarkerSize = 5;
    LakeChart.Series.Add(lakeVals);
    LakeChart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
    //LakeChart.ChartAreas[0].AxisX.Maximum = dateVal.ToOADate();
    LakeChart.ChartAreas[0].AxisX.Interval = 1;
    LakeChart.ChartAreas[0].AxisY.Minimum = 0;
    LakeChart.ChartAreas[0].AxisY.Maximum = 100;
    LakeChart.ChartAreas[0].AxisY.Interval = 10;

注释掉的线条是导致图形变黑的原因。值得一提的是,我希望将日期值保留为字符串,而不是将它们添加为日期值,因为如果我将它们添加为日期值,图形控件将尝试根据实际日期之间的距离来区分它们,我想要的就是让它们均匀分布。这是我客户的要求,所以请不要和我争论我应该如何表示数据,这不是我的选择。

0 个答案:

没有答案