C# formsPlot1.Plot.Add.Scatter()详细参数和功能


在 ScottPlot 中,Plot.Add.Scatter() 是一个常用的方法,用于绘制散点图或折线图。它允许你自定义 X 和 Y 值、颜色、标记样式、线条样式等。以下是 Plot.Add.Scatter() 的详细参数和功能说明。
________________________________________
方法签名
csharp
复制
public ScottPlot.Plottable.ScatterPlot Add.Scatter(
    double[] xs,                  // X 值数组
    double[] ys,                  // Y 值数组
    Color? color = null,          // 线条和标记颜色
    double lineWidth = 1,         // 线条宽度
    double markerSize = 5,        // 标记大小
    string label = null,          // 图例标签
    LineStyle lineStyle = LineStyle.Solid, // 线条样式
    MarkerShape markerShape = MarkerShape.filledCircle // 标记形状
)
参数说明:
•    xs:X 值数组(必需)。
•    ys:Y 值数组(必需)。
•    color:线条和标记的颜色(可选,默认值为 null,使用默认颜色)。
•    lineWidth:线条宽度(可选,默认值为 1)。
•    markerSize:标记大小(可选,默认值为 5)。
•    label:图例标签(可选,默认值为 null)。
•    lineStyle:线条样式(可选,默认值为 LineStyle.Solid)。
•    markerShape:标记形状(可选,默认值为 MarkerShape.filledCircle)。
________________________________________
功能
•    绘制散点图或折线图。
•    支持自定义 X 和 Y 值。
•    支持自定义颜色、线条宽度、标记大小、线条样式和标记形状。
•    支持添加图例标签。
________________________________________
使用示例
示例 1:基本用法
绘制一个简单的散点图。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // X 值
double[] ys = { 1, 4, 9, 16, 25 }; // Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(xs, ys);
formsPlot1.Refresh(); // 刷新绘图
示例 2:自定义颜色和线宽
设置线条颜色为红色,线宽为 2。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // X 值
double[] ys = { 1, 4, 9, 16, 25 }; // Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(xs, ys, color: Color.Red, lineWidth: 2);
formsPlot1.Refresh(); // 刷新绘图
示例 3:添加图例标签
为散点图添加图例标签。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // X 值
double[] ys = { 1, 4, 9, 16, 25 }; // Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(xs, ys, label: "数据点");
formsPlot1.Plot.Legend(); // 显示图例
formsPlot1.Refresh(); // 刷新绘图
示例 4:设置线条样式
设置线条样式为虚线。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // X 值
double[] ys = { 1, 4, 9, 16, 25 }; // Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(xs, ys, lineStyle: LineStyle.Dash);
formsPlot1.Refresh(); // 刷新绘图
示例 5:设置标记形状和大小
设置标记形状为正方形,大小为 10。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // X 值
double[] ys = { 1, 4, 9, 16, 25 }; // Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(
    xs, ys,
    markerShape: MarkerShape.filledSquare, // 标记形状
    markerSize: 10 // 标记大小
);
formsPlot1.Refresh(); // 刷新绘图
________________________________________
高级用法
1. 动态更新数据
可以通过 scatterPlot.Update() 方法动态更新数据。
csharp
复制
double[] xs = { 1, 2, 3, 4, 5 }; // 初始 X 值
double[] ys = { 1, 4, 9, 16, 25 }; // 初始 Y 值
var scatterPlot = formsPlot1.Plot.Add.Scatter(xs, ys);
formsPlot1.Refresh(); // 刷新绘图

// 更新数据
double[] newXs = { 1, 2, 3, 4, 5 };
double[] newYs = { 2, 5, 10, 17, 26 };
scatterPlot.Update(newXs, newYs);
formsPlot1.Refresh(); // 刷新绘图
2. 自定义标记形状
ScottPlot 提供了多种标记形状,例如:
•    MarkerShape.filledCircle(默认)
•    MarkerShape.filledSquare
•    MarkerShape.filledDiamond
•    MarkerShape.filledTriangleUp
•    MarkerShape.filledTriangleDown
3. 自定义线条样式
ScottPlot 提供了多种线条样式,例如:
•    LineStyle.Solid(默认)
•    LineStyle.Dash
•    LineStyle.Dot
•    LineStyle.DashDot
•    LineStyle.DashDotDot
________________________________________
完整示例代码
以下是一个完整的示例,展示如何使用 Plot.Add.Scatter() 绘制散点图:
csharp
复制
using System;
using System.Drawing;
using System.Windows.Forms;
using ScottPlot;

public partial class Form1 : Form
{
    private FormsPlot formsPlot1;

    public Form1()
    {
        InitializeComponent();

        // 初始化FormsPlot
        formsPlot1 = new FormsPlot();
        formsPlot1.Dock = DockStyle.Fill;
        this.Controls.Add(formsPlot1);

        // 生成示例数据
        double[] xs = { 1, 2, 3, 4, 5 }; // X 值
        double[] ys = { 1, 4, 9, 16, 25 }; // Y 值

        // 添加散点图
        var scatterPlot = formsPlot1.Plot.Add.Scatter(
            xs, ys,
            color: Color.Blue,
            lineWidth: 2,
            markerSize: 10,
            label: "数据点",
            lineStyle: LineStyle.Dash,
            markerShape: MarkerShape.filledSquare
        );

        // 显示图例
        formsPlot1.Plot.Legend();

        // 设置坐标轴标签
        formsPlot1.Plot.XLabel("X 轴");
        formsPlot1.Plot.YLabel("Y 轴");

        // 刷新绘图
        formsPlot1.Refresh();
    }
}
________________________________________
总结
•    Plot.Add.Scatter() 用于绘制散点图或折线图。
•    支持自定义 X 和 Y 值、颜色、线条宽度、标记大小、线条样式和标记形状。
•    可以通过 scatterPlot.Update() 动态更新数据。
•    适用于需要高度自定义的图表绘制场景。
通过合理使用 Plot.Add.Scatter(),可以轻松绘制出美观且功能丰富的散点图或折线图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值