C# winform非常好用的图表开源控件Scottplot

news/2024/12/4 3:09:10/

  wifnorm自带的chart控件功能和性能都不太行,所以在网上搜索到了Scottplot开源图表控件。根据自己需要,将已经试验使用过的用法记录在这里

winform建议使用版本

  Scottplot包版本:4.1.71

  这个版本在winform中可以以控件形式直接拖拉到窗体中使用,安装好包之后,会在工具箱中多出一个菜单项。将菜单项中的FormsPlot控件就是Scottplot表格控件

常用操作如下:

chartPlot为我设置的FormsPlot控件的name

第一部分:Scottplot图表界面控件基础属性设置

chartPlot.Reset();//重置图表控件chartPlot.Plot.AxisAuto();//x轴自动缩放
chartPlot.Plot.XLabel("Angle(°)");//设置X轴标题
chartPlot.Plot.YLabel("RSSI(dBm)");//设置Y轴标题
chartPlot.Plot.SetAxisLimitsX(0, 360);//设置x轴范围
chartPlot.Plot.SetOuterViewLimits(0, 360, 0, -200);//设置显示范围
chartPlot.Refresh();//刷新控件

第二部分:创建线,设置线标签

Plots= chartPlot.Plot.AddSignalXY(Points[it.Key].Keys.ToArray(),Points[it.Key].Values.ToArray(),colors[it.Key]);//根据XY点数组,线颜色,创建折线
Plots.Label = index_and_Mac[it.Key];//给创建的折线增加标签
chartPlot.Plot.Legend();//使设置的标签生效

第三部分:反转xy轴的正负

var plt = new ScottPlot.Plot(600, 400);
plt.XAxis.TickLabelNotation(invertSign: true);
plt.YAxis.TickLabelNotation(invertSign: true);

第四部分:定义刻度间距

// then invert the sign of the axis tick labels
plt.XAxis.ManualTickSpacing(2);//横坐标刻度线网格间距设为2
plt.YAxis.ManualTickSpacing(.1);//纵坐标刻度线网格间距设为0.1


http://www.ppmy.cn/news/1552167.html

相关文章

windows C#-强制转换和类型转换

由于 C# 是在编译时静态类型化的,因此变量在声明后就无法再次声明,或无法分配另一种类型的值,除非该类型可以隐式转换为变量的类型。 例如,string 无法隐式转换为 int。 因此,在将 i 声明为 int 后,无法将字…

【golang】单元测试,以及出现undefined时的解决方案

单元测试 要对某一方法进行测试时,例如如下这一简单减法函数,选中函数名后右键->转到->测试 1)Empty test file 就是一个空文件,我们可以自己写测试的逻辑 但是直接点绿色箭头运行会出问题: 找不到包。我们要在…

AI开发-机器学习库-sklearn

1 需求 官网:scikit-learn: machine learning in Python — scikit-learn 1.5.2 documentation scikit - learn(简称sklearn)是一个用于机器学习的开源 Python 库。它建立在NumPy、SciPy和matplotlib之上,提供了丰富的工具用于数…

详细了解索引规约

索引规约 在大厂中数据量非常庞大,也有很多高并发场景,因此在大厂中使用索引规约主要是为了规范索引的创建、使用及管理,确保数据库性能的高效与稳定,避免因随意或不合理创建索引带来诸如占用过多存储资源、影响数据更新效率等问…

Flink四大基石之窗口(Window)使用详解

目录 一、引言 二、为什么需要 Window 三、Window 的控制属性 窗口的长度(大小) 窗口的间隔 四、Flink 窗口应用代码结构 是否分组 Keyed Window --键控窗 Non-Keyed Window 核心操作流程 五、Window 的生命周期 分配阶段 触发计算 六、Wi…

Linux设置jar包开机自启动

本文详细描述了如何在Linux服务器上创建并配置jar包的自启动脚本,包括编辑/etc/init.d/jar_auto.sh以设置环境变量,将jar包添加到rc.local以开机启动,以及提升脚本文件权限确保自动执行。 1、准备工作 Linux中Java的路径 项目jar包绝对路径 2…

简单快速的上手python

前言 python是一门可以快速上手的语言,原因是它语法简单,api容易使用自由灵活 当我们需要安装任何的三方库时,只需要执行 pip install XX 之后在代码里面import xxx就可以使用python啦。 并且python的代码自由灵活,使用缩进区…

k8s--pod创建、销毁流程

文章目录 一、pod创建流程二、pod销毁流程 一、pod创建流程 1、用户通过kubectl或其他api客户端提交pod spec给apiserver,然后会进行认证、鉴权、变更、校验等一系列过程2、apiserver将pod对象的相关信息最终存入etcd中,待写入操作执行完成,apiserver会返回确认信息给客户端3、…