ChartData data = c1Chart1.ChartGroups[0].ChartData;
ChartDataSeriesCollection series = data.SeriesList;
ChartDataSeries Series1 = series.AddNewSeries();
ChartDataSeries Series2 = series.AddNewSeries();
PointF[] data1 = new PointF[dtclcr.Rows.Count]; PointF[] data2 =new PointF[dtclcr.Rows.Count]; for (int i = 0; i < dtclcr.Rows.Count; i++)
{ float x = float.Parse(dtclcr.Rows[i]["TAPN0"].ToString());
float y = float.Parse(dtclcr.Rows[i]["REALR2"].ToString());
float z = float.Parse(dtclcr.Rows[i]["CLCR2"].ToString());
data1[i] = new PointF(x, y);
Series1.PointData.Length = dtclcr.Rows.Count;
Series1.X[i] = data1[i].X;
Series1.Y[i] = data1[i].Y; data2[i] = new PointF(x, z);
Series2.PointData.Length = dtclcr.Rows.Count;
Series2.X[i] = data2[i].X;
Series2.Y[i] = data2[i].Y;
} 代码如上,为什么在chart图中只显示一条曲线,应该是两条
Series series2 = new Series();
for (int i = 0; i < dtclcr.Rows.Count; i++)
{
......
series1.Points.AddXY(x,y);
series2.Points.AddXY(x,z);
}
this.c1Chart1.Series[0] = series1;
this.c1Chart1.Series[1] = series2;
public static DataTable getDaysTrafficByUsername(string userName, string type, DateTime startDate, DateTime endDate)
{ string sql = @"SELECT round(sum(size/1000/1024),2)daysTrafficSum,DATE_FORMAT(date, '%Y-%m-%d') days from owa_isa ";
sql += " where username=@userName and client=@type and action='A'and date between @startDate and @endDate GROUP BY days ";
DbStatement stmt = dbc.DbSessionOwa.GetStatement(sql);//换成你写的
stmt.Parameters.Add("@userName", userName);
stmt.Parameters.Add("@type", type);
stmt.Parameters.Add("@startDate", startDate);
stmt.Parameters.Add("@endDate", endDate);
return dbc.DbSessionOwa.ExecuteDataTable(stmt);//换成你写的查询方法 公司的框架
} //前一个月 31天
public virtual DataTable getDaysTrafficByUsername(string name, string type, DateTime startDate, DateTime endDate)
{
return OwaEntity.getDaysTrafficByUsername(name, type, startDate, endDate);
} //每天
private void getDaysTrafficByUsername(string userName, string type, DateTime startDate, DateTime endDate)
{
DataTable dt = new DataTable();
dt.Columns.Add("days");
dt.Columns.Add("daysTrafficSum");
dt = owam.getDaysTrafficByUsername(userName, type, startDate, endDate); //调用业务层的方法
//设置图表的数据源
dayChart.DataSource = dt; //设置图表Y轴对应项
dayChart.Series[0].XValueMember = "days";
dayChart.Series[0].YValueMembers = "daysTrafficSum";
dayChart.Series[0].Name = userName+" 前30天 O"+type+"A 下载附件趋势图";
dayChart.ChartAreas["ChartArea1"].AxisX.MajorGrid.Interval = 1;
dayChart.ChartAreas["ChartArea1"].AxisX.LabelStyle.Interval = 1;
if (dt.Rows.Count == 0) //没数据不显示
dayChart.Visible = false;
}
代码就这样mysql数据库 用的是公司的框架不过程序思路都一样 换2个地方就好了 希望帮到你
在chart控件的属性->Series点开后,打开了Series集合编辑器, 成员列表添加 Series1,Series2