在C#中制作图形饼图

8

我正在尝试编写一个Windows应用程序,显示一个由七个不等份组成的饼图(分别为25%,20%,18%,17%,10%,10%,10%),每个部分都会有不同的颜色。

目前为止,我已经创建了带有颜色的笔和画刷,并绘制了一个圆形。

这是我目前为止的代码:

private void Form1_Paint(object sender, PaintEventArgs e)
    {
        this.BackColor = Color.White;
        this.Text = "Pie Chart";
        this.Width = 350;
        this.Height = 350;

        Pen black = new Pen(Color.Black);
        Pen blue = new Pen(Color.Blue);
        Pen green = new Pen(Color.Green);
        Pen red = new Pen(Color.Red);
        Pen orange = new Pen(Color.Orange);
        Pen pink = new Pen(Color.Pink);
        Pen purple = new Pen(Color.Purple);
        Pen magenta = new Pen(Color.Purple);
        Brush brBlue = blue.Brush;
        Brush brGreen = green.Brush;
        Brush brRed = red.Brush;
        Brush brOrange = orange.Brush;
        Brush brPink = pink.Brush;
        Brush brPurple = purple.Brush;
        Brush brMagenta = magenta.Brush;
        Graphics g = e.Graphics;

        g.DrawEllipse(black, 20, 10, 300, 300);

    }

我的问题是,绘制饼图楔形部分的最简单方法是什么?


2
不要忘记释放你的GDI+资源,或者将它们放入Using块中。 - Ralph Caraveo
1
这个教程可能会很有帮助。 - kgiannakakis
你真的在这个项目中付出了110%的努力! - Serinus
3个回答

9
我建议您查看ZedGraph,它与编程有关。
如果您想要一个使用GDI实际绘制饼图的示例代码,可以查看这个tutorial.。它使用Graphics类的FillPie方法。

5

因为我在这台电脑上没有管理员权限来安装它们 :) - Cistoran
3
无需安装,只需复制DLL并在您的项目中引用它们。 - Igor Brejc

5

CodeProject.com有很多样例。这里是我用过的一个示例。另外,我建议你研究一下Google Charts,它可以为你完成这个。


1
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。仅有链接的答案如果链接页面发生更改可能会变得无效。 - jbutler483

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接