使用带有文本框值的图表

时间:2011-11-29 09:01:16

标签: c# winforms charts controls

我正在尝试制作一个使用文本框中用户值的饼图。我正在使用c#windows窗体图表控件。

问题在于将文本框指定为值。

  • 是在代码中完成的吗?如果是的话我该怎么称呼?
  • 是否在控件属性中完成?如果是这样我该怎么办?
  • 两者兼而有之?是如此,与上述两者完全相同。

我尝试使用属性向导创建一个但我无法确定在哪里为其分配值以进行处理,数据源似乎只允许对象和Dbos的连接。
我希望这是一个我忽略的非常简单的过程。

是的我已经检查了MSDN,但没有关于我需要的细节的大量信息。是的我已经检查了谷歌但是再次没有关于从头开始构建我自己的信息或信息(我已经完成了,但看起来非常糟糕)

这是我试过的一些代码

         double[] yValues = { 10, 8, 7, 12};
        string[] xNames = { "Greater than 200", "Between 200-100", "Between 100-50", "Below 50" };

        chart1.Series[0].Points.DataBindXY(xNames, yValues);
        chart1.Series[1].Points.DataBindXY(xNames, yValues);
        chart1.Series[2].Points.DataBindXY(xNames, yValues);
        chart1.Series[3].Points.DataBindXY(xNames, yValues);

系列[2]的错误,说索引超出了范围。我猜它与当前如何设置图表有关

::修订:: 好吧,我是对的,我没有给图表分配足够的系列(愚蠢的我)。我设法得到它并运行.....不幸的是图像显示看起来像一封信(奇怪)。 它的盒子中间有一个十字架,都是相同的。我至少会认为它会与我发送的值成比例显示。所以这是一个设置还是我的代码中出现了错误?

3 个答案:

答案 0 :(得分:3)

我会建议这样的事情。 您可以直接从文本框中插入y值。

   double[] yValues = { 10, 27.5, 7, 12, 45.5};
    string[] xNames = { “Mike”, “John”, “William”, “George”, “Alex” };
   myChart.Series[0].Points.DataBindXY(xNames, yValues);

答案 1 :(得分:0)

以下是带有解释的示例代码:

http://forum.codecall.net/csharp-tutorials/7917-tutorial-vs2008-c-pie-chart.html#post43094

我认为这正是你想要做的事情

答案 2 :(得分:0)

或许想看一下zedgraph: http://www.codeproject.com/KB/graphics/zedgraph.aspx

这个图表类可以制作饼图等等