画正态分布图的流程

为了教会小白如何画正态分布图,我们可以按照以下步骤进行:

步骤 代码 功能
步骤1 import java.awt.*; 导入AWT库
步骤2 import javax.swing.*; 导入Swing库
步骤3 public class NormalDistributionGraph extends JFrame { 创建一个名为NormalDistributionGraph的类,继承JFrame类
步骤4 public NormalDistributionGraph() { 创建NormalDistributionGraph类的构造函数
步骤5 double mean = 0; 创建一个double类型的变量mean,表示正态分布的均值
步骤6 double standardDeviation = 1; 创建一个double类型的变量standardDeviation,表示正态分布的标准差
步骤7 setTitle("Normal Distribution Graph"); 设置窗口标题为"Normal Distribution Graph"
步骤8 setSize(800, 600); 设置窗口的大小为800x600像素
步骤9 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 设置当窗口关闭时结束程序的运行
步骤10 setVisible(true); 设置窗口可见
步骤11 } 结束构造函数
步骤12 public void paint(Graphics g) { 创建一个名为paint的方法,重写父类的paint方法
步骤13 super.paint(g); 调用父类的paint方法
步骤14 Graphics2D g2d = (Graphics2D) g; 创建一个Graphics2D对象g2d,将g对象转换为Graphics2D类型
步骤15 int width = getWidth(); 获取窗口的宽度
步骤16 int height = getHeight(); 获取窗口的高度
步骤17 g2d.setColor(Color.BLACK); 设置画笔颜色为黑色
步骤18 g2d.setStroke(new BasicStroke(2)); 设置画笔的粗细为2个像素
步骤19 for (int i = 0; i < width; i++) { 创建一个循环,从0遍历到窗口的宽度
步骤20 double x = (double) i / width; 将i转换为double类型,并除以窗口的宽度,得到x坐标的比例
步骤21 double y = calculateProbability(x, mean, standardDeviation); 调用calculateProbability方法,计算对应x坐标的概率密度值
步骤22 int j = (int) (y * height); 将y乘以窗口的高度,得到y坐标
步骤23 g2d.drawLine(i, height - j, i, height - j); 画一条从(i, height - j)到(i, height - j)的线段
步骤24 } 结束循环
步骤25 } 结束paint方法
步骤26 public static double calculateProbability(double x, double mean, double standardDeviation) { 创建一个名为calculateProbability的静态方法,返回一个double类型的值
步骤27 double exponent = -(Math.pow(x - mean, 2) / (2 * Math.pow(standardDeviation, 2))); 计算指数部分的值
步骤28 double probability = (1 / (Math.sqrt(2 * Math.PI) * standardDeviation)) * Math.exp(exponent); 计算概率密度值
步骤29 return probability; 返回概率密度值
步骤30 } 结束calculateProbability方法
步骤31 public static void main(String[] args) { 创建一个名为main的静态方法,作为程序的入口
步骤32 `NormalDistributionGraph graph =