从datagridview C#创建图表

时间:2017-08-07 08:16:55

标签: c# charts datagridview

美好的一天,

我有点问题。我试图从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日

0 个答案:

没有答案