一、serise的绑定方式:
1、数据直接绑定
将数据组成datatable的数据,直接用datasource绑定:
DataTable datatable=new DataTable();
datatable= ; //此处需要绑定自己的数据
Series Series1 = new Series("数据", ViewType.Bar); //声明serise的类型和名称
Series1.DataSource = datatable; //绑定数据源
Series1.ArgumentScaleType = ScaleType.Qualitative;//文字绑定类型为标准类型
chartControl1.Series.Add(Series1); //控件绑定系列serise
2、循环数据point绑定
将得到的数据每组/(每行)循环添加:
Series series0 = new Series("Adder", ViewType.Bar); //还是先声明
for(int i=0;i<list.Cout;i++)//此处list是数据源可以采用自己喜欢的方式,如字典、数组等
{
series0.Points.Add(new SeriesPoint(key, value));//key是X轴的值,value是Y轴的值
}
chartControl.Series.AddRange(new Series[] { series0 });//chart控件绑定添加series
3、循环数据SeriesPoint绑定
与方法2同理,只是当出现多个Serise方便进行多重循环:
List<Series> listseries = new List<Series>();//声明一个serise的list
for (int i = 0; i < dataTable.Columns.Count; i++)//绑定serise的条数
{
Series series1 = new Series(dataTable.Columns[i].Caption, ViewType.StackedBar);
listseries.Add(series1);
}
for (int i = 0; i < dataTable.Rows.Count; i++)//循环添加每一组X轴Y轴数据进行添加
{
int idx = 0;
for (int j = 0; j < dataTable.Columns.Count; j++)//可以根据自己的具体情况//具体调整,此处提供思路
{
SeriesPoint outputPoint =
new SeriesPoint(dataTable.Rows[i][0].ToString(), DataUtil.StrToInt(dataTable.Rows[i][j].ToString()));//第一个参数是X轴,第二个参数是Y轴
listseries[idx++].Points.Add(outputPoint);
}
}
for (int i = 0; i < listseries.Count; i++)//最后循环listseries添加到chartControl控件中
{
chartControl1.Series.AddRange(new Series[] { listseries[i] });
}