4,816
社区成员
发帖
与我相关
我的任务
分享
this.activationChart.ChartAreas.Clear();
this.activationChart.ChartAreas.Add("area");
this.activationChart.Series.Clear();
this.activationChart.Series.Add("Line");
ChartArea area = this.activationChart.ChartAreas[0];
area.AxisX.MajorGrid.LineWidth = 0;
//set Area style
area.BackHatchStyle = ChartHatchStyle.Cross;
//set AxisX
double subMin = subTimeMin(a.EndTime, a.StartTime);//算时间差的方法,对性能应该没什么影响,所以就不贴了
double intervalmin = subMin / 20;
area.AxisX.Maximum = subMin;
area.AxisX.Minimum = 0;
area.AxisX.Interval = intervalmin;
area.AxisX.Title = "Time(in minutes)";
//set AxisY
int maxPersonCount = 0;
if (apList.Count() < 5)
maxPersonCount = 5;
else
{
if (apList.Count() % 5 > 0)
maxPersonCount = ((apList.Count() / 5) + 1) * 5;
else
maxPersonCount = apList.Count();
}
area.AxisY.Maximum = maxPersonCount;
area.AxisY.Minimum = 0;
area.AxisY.Interval = maxPersonCount / 5;
area.AxisY.Title = "Strength";
Series series = this.activationChart.Series[0];
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 1;
series.ShadowOffset = 1;
series.Color = System.Drawing.Color.Black;
int personCount = 0;
for (int i = 0; i <= 20; i++)
{
DateTime? minTime = a.StartTime.GetValueOrDefault().AddMinutes(intervalmin * (i - 1));
DateTime? morTime = a.StartTime.GetValueOrDefault().AddMinutes(intervalmin * i);
if (i == 0)
{
var epList = .....(忽略取一个List代码).ToList();
if (epList != null && epList .Count > 0)
{
personCount += epList .Count;
series.Points.AddXY(0, personCount);
series.Points[i].ToolTip = (personCount).ToString();
}
else
{
series.Points.AddXY(0, 0);
series.Points[i].ToolTip = (0).ToString();
}
}
else
{
var tpList =忽略取List的方法.ToList();
if (tpList != null)
{
personCount += tpList .Count;
}
series.Points.AddXY(i * intervalmin, personCount);
series.Points[i].ToolTip = (personCount).ToString();
if (personCount == ap.Count() || a.StartTime.GetValueOrDefault().AddMinutes(intervalmin * i) > DateTime.Now)
break;
}
}
//set series style
series.ChartType = SeriesChartType.Line;
series.MarkerStyle = MarkerStyle.Square;
series.MarkerColor = System.Drawing.Color.White;
series.MarkerSize = 5;