C# 绘制正态分布效果图
时间: 2023-07-12 09:05:23 浏览: 44
以下是使用C#绘制正态分布效果图的示例代码:
```csharp
using System;
using System.Drawing;
using System.Windows.Forms;
namespace NormalDistribution
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private double NormalPDF(double x, double mu, double sigma)
{
double d1 = Math.Sqrt(2 * Math.PI) * sigma;
double d2 = Math.Exp(-((x - mu) * (x - mu)) / (2 * sigma * sigma));
return d2 / d1;
}
private void btnPlot_Click(object sender, EventArgs e)
{
double mu = Convert.ToDouble(tbMu.Text);
double sigma = Convert.ToDouble(tbSigma.Text);
Bitmap bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
// 绘制坐标轴
using (Graphics g = Graphics.FromImage(bmp))
{
g.Clear(Color.White);
Pen pen = new Pen(Color.Black, 1);
g.DrawLine(pen, 50, 20, 50, 220);
g.DrawLine(pen, 50, 220, 250, 220);
for (int i = 1; i <= 10; i++)
{
g.DrawLine(pen, 50 + i * 20, 220, 50 + i * 20, 230);
g.DrawString((i / 10.0).ToString(), this.Font, new SolidBrush(Color.Black), 50 + i * 20 - 10, 230);
}
}
// 绘制正态分布曲线
using (Graphics g = Graphics.FromImage(bmp))
{
Pen pen = new Pen(Color.Red, 2);
double x = 0;
double y = 0;
double x2 = 0;
double y2 = 0;
for (int i = 0; i <= 200; i++)
{
x = i / 20.0;
y = pictureBox1.Height - (NormalPDF(x, mu, sigma) * 200 + 20);
if (i > 0)
{
g.DrawLine(pen, (float)x2, (float)y2, (float)x, (float)y);
}
x2 = x;
y2 = y;
}
}
pictureBox1.Image = bmp;
}
}
}
```
在窗体中添加两个文本框和一个按钮,以及一个PictureBox控件。用户输入正态分布的均值和标准差,点击按钮后,程序会绘制出对应的正态分布曲线。在绘制曲线时,先绘制坐标轴,然后计算每个点的y坐标,最后使用画笔绘制直线即可。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)