美好的一天,
我有点问题。我试图从dataGridView制作图表,所以我写了短代码。private void create_graphs_Click(object sender,EventArgs e) {
Chart chart1 = new Chart();
chart1.Series[0] = new Series();
chart1.Series[0].XValueMember = dataGridView1.Columns[0].DataPropertyName;
chart1.Series[0].YValueMembers = dataGridView1.Columns[1].DataPropertyName;
chart1.DataSource = dataGridView1.DataSource;
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.SaveImage("chart.png", ChartImageFormat.Png);
}
没有错误的语法。问题是,当我开始时,它说:
指数超出范围。必须是非负数且小于集合的大小。 参数名称:index
有什么建议吗?提前谢谢。
编辑8.7.2017 18:07:
谢谢你的帮助。我编写了一个代码,现在看起来像这样:
ChartArea chartArea1 = new ChartArea();
chartArea1.AxisX.MajorGrid.LineColor = Color.LightGray;
chartArea1.AxisY.MajorGrid.LineColor = Color.LightGray;
chartArea1.AxisX.LabelStyle.Font = new Font("Consolas", 8);
chartArea1.AxisY.LabelStyle.Font = new Font("Consolas", 8);
chart1.ChartAreas.Add(chartArea1);
chart1.Series.Add(new Series());
chart1.Series[0].XValueMember = dataGridView1.Columns[0].DataPropertyName;
chart1.Series[0].YValueMembers = dataGridView1.Columns[1].DataPropertyName;
chart1.DataSource = dataGridView1.DataSource;
chart1.Series[0].ChartType = SeriesChartType.Line;
chart1.SaveImage("chart.png", ChartImageFormat.Png);
它的工作。创建一个图形,但现在我需要制作更大的图形。这是输出图像...我不知道如何将图像放在这里,所以至少链接:http://imgur.com/a/Y5OaH
事情是,我的栏目中有93项,所以我需要该图表显示所有12个月或13个月......从2008年1月1日到2009年1月1日