MSChart简单问题求解
刚开始搞MSChart,一来就碰到问题了,求大侠帮忙。
VS2008, Winform窗体程序
是这样的,我想实现X轴日期,Y轴数据
X轴直接在代码里用for循环写(每月日期不一样,我先获得当月的天数)
这样子X轴倒是对的,Y轴所有列上都有一个数字0
//计算当月有几天
int intDayCount = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
for (int i = 1; i < intDayCount; i++)
{
series.Points.AddXY(i, 0);
}
DataTable dt = new DataTable("Data");
dt.Columns.Add("Day", typeof(DateTime));
dt.Columns.Add("Val", typeof(int));
//数据库数据
dt.Rows.Add(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1), 35);
dt.Rows.Add(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 5), 53);
dt.Rows.Add(new DateTime(DateTime.Now.Year, DateTime.Now.Month, 15), 25);
chart1.Series[0].ChartType = SeriesChartType.Column;
//柱状图
chart1.Series[0].Points.DataBindXY(dt.DefaultView, "Day", dt.DefaultView, "Val");
//格式化 按天数显示
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisX.LabelStyle.Format = "dd";
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;