一、 初始化界面
RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;- 这行代码设置了渲染模式为软件渲染模式。在 WPF(Windows Presentation Foundation)中,渲染模式决定了图形和界面元素如何在屏幕上绘制和呈现。软件渲染模式通常用于在不支持硬件加速的环境中进行图形绘制,或者在需要更高兼容性和稳定性的场景下使用。
InitializeComponent();- 这是一个 WPF 中常见的语句,用于初始化当前窗体或用户控件的组件。它通常在窗体或用户控件的构造函数中调用,用来加载 XAML 中定义的界面元素和布局。
var dataSeries1 = new XyDataSeries<int, int>();这段代码创建了一个 XyDataSeries 对象,该对象可以存储和管理 X 轴和 Y 轴均为整数类型的数据。这个对象可以用来添加、删除和操作图表中的数据点,从而在图表中展示这些数据
二、创建一系列近似于正弦的模拟数据
double dou = 0; // 定义一个双精度浮点数变量
int XAxisLen = 2047; // 设置了X轴的长度,也是数据的个数
Random random = new Random(); // 创建随机数生成器
for (int i = 0; i < XAxisLen; i++) // 循环生成模拟数据
{
    double noise = random.NextDouble() * 50 - 25; // 生成范围随机噪声
    int yValue = (int)(Math.Sin(dou) * 200 + noise + 400); // 设置峰值并加上偏移量
    dataSeries1.Append(i, yValue); // 向原始数据系列添加数据点
 
    dou += 0.003; // 增加之后周期变短
}-  double dou = 0;- 定义一个名为 dou的双精度浮点数变量,并初始化为 0。
- 这个变量将在循环中用于计算正弦波的值。
 
- 定义一个名为 
-  int XAxisLen = 2047;- 定义一个名为 XAxisLen的整数变量,并将其设置为 2047。
- 这个变量表示 X 轴的长度,也是生成的数据点的个数。
 
- 定义一个名为 
-  Random random = new Random();- 创建一个 Random类的实例random,用于生成随机数。
- Random类提供生成伪随机数的功能。
 
- 创建一个 
-  for (int i = 0; i < XAxisLen; i++)- 使用 for循环来生成模拟数据,循环次数为XAxisLen(即 2047 次)。
- i是循环变量,从 0 开始,每次循环递增 1,直到小于- XAxisLen。
 
- 使用 
-  double noise = random.NextDouble() * 50 - 25;- 生成一个范围在 [-25, 25) 之间的随机噪声。
- random.NextDouble()生成一个范围在 [0.0, 1.0) 的双精度浮点数,将其乘以 50 后减去 25,即得到范围为 [-25, 25) 的噪声值。
 
-  int yValue = (int)(Math.Sin(dou) * 200 + noise + 400);- 计算 y 轴的值 yValue。
- 使用 Math.Sin(dou)计算dou的正弦值,并将其放大 200 倍,然后加上噪声和偏移量 400。
- 将结果转换为整数类型。
 
- 计算 y 轴的值 
-  dataSeries1.Append(i, yValue);- 将计算得到的 (i, yValue) 数据点添加到 dataSeries1数据系列中。
- i作为 x 轴的值,- yValue作为 y 轴的值。
 
- 将计算得到的 (i, yValue) 数据点添加到 
-  dou += 0.003;- 在每次循环后,将 dou增加 0.003。
- 这样可以在每次循环中逐渐增加正弦函数的输入值,生成连续的正弦波形数据。
 
- 在每次循环后,将 
三、散点图的创建
lineSeries1 = new XyScatterRenderableSeries // 创建一个散点图系列
{
    DataSeries = dataSeries1, // 设置数据系列
    PointMarker = new EllipsePointMarker { Width = 2, Height = 2, Fill = Colors.White }, // 设置点标记样式
    YAxisId = "LeftYAxis" // 设置 Y 轴 ID
};
-  lineSeries1 = new XyScatterRenderableSeries- 创建一个 XyScatterRenderableSeries对象并将其赋值给lineSeries1变量。
- XyScatterRenderableSeries是用于绘制散点图的类。
 
- 创建一个 
-  DataSeries = dataSeries1,- 将之前创建并填充的数据系列 dataSeries1赋值给lineSeries1的DataSeries属性。
- 这意味着 lineSeries1将使用dataSeries1中的数据来绘制散点图。
 
- 将之前创建并填充的数据系列 
-  PointMarker = new EllipsePointMarker { Width = 2, Height = 2, Fill = Colors.White },- 设置散点图中点的标记样式。
- PointMarker属性被赋值为一个新的- EllipsePointMarker对象。
- EllipsePointMarker是一个椭圆形的点标记,其- Width和- Height属性被设置为 2,表示点的大小为 2 像素。
- Fill = Colors.White设置点的填充颜色为白色。
 
-  YAxisId = "LeftYAxis"- 设置散点图系列使用的 Y 轴的 ID 为 "LeftYAxis"。
- 这意味着 lineSeries1将使用 ID 为"LeftYAxis"的 Y 轴。
 
- 设置散点图系列使用的 Y 轴的 ID 为 
sciChart.RenderableSeries.Add(lineSeries1); //
- 添加散点图系列到 SciChart 中
 










