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