news 2026/6/14 21:16:04

SottPlot5曲线图学习,代码示例,最新版本使用总结(v5.1.x)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SottPlot5曲线图学习,代码示例,最新版本使用总结(v5.1.x)

一、ScottPlot(v5.1.57)

ScottPlot 是一个免费、开源的 .NET 绘图库,专注于高性能、易用性和轻量级,支持 Windows Forms、WPF、ASP.NET、Blazor、MAUI 等多种.NET 平台,适合绘制折线图、散点图、柱状图、热力图等数十种图表类型,尤其适合科学计算、数据可视化场景。

说明:可能版本差异,网上提供的很多方法均无效(包括AI提供的多种方法,几乎都有问题)。

1.1 汉字乱码问题

X轴标签汉字支持:formsPlot.Plot.Axes.Bottom.Label.FontName = “Microsoft YaHei UI”;
Y轴标签汉字支持:formsPlot.Plot.Axes.Left.Label.FontName = “Microsoft YaHei UI”;
标题汉字支持:formsPlot.Plot.Axes.Title.Label.FontName = “Microsoft YaHei UI”;
图例汉字支持:formsPlot.Plot.Legend.FontName = “Microsoft YaHei UI”;
全局字体:formsPlot.Plot.Font.Set(“Microsoft YaHei UI”);
全局字体加粗:formsPlot.Plot.Font.Set(“Microsoft YaHei UI”,FontWeight.Bold);

1.2 曲线图(圆滑曲线图)

默认(直连):var scatterPlot = formsPlot.Plot.Add.Scatter(times, prices);
圆滑(弧度)属性:scatterPlot.Smooth = true;

1.3 图例显示位置控制

右上角(默认右下角):formsPlot.Plot.Legend.Alignment = Alignment.UpperRight;

1.4 网格及坐标轴控制

布满:formsPlot.Plot.Axes.AutoScale();
隐藏网格:formsPlot.Plot.HideGrid();
隐藏坐标轴:formsPlot.Plot.Layout.Frameless(true);
四周边距控制(左右下上):formsPlot.Plot.Layout.Fixed(new PixelPadding(80,20,50,50));

1.5 关于X轴显示时间问题

关键:formsPlot.Plot.Axes.DateTimeTicksBottom();
时间显示格式化:
formsPlot.Plot.Axes.Bottom.TickGenerator = new ScottPlot.TickGenerators.DateTimeAutomatic
{
LabelFormatter = dt => dt.ToString(“HH:mm:ss”)//格式
};

1.6 其他

1.隐藏图例:formsPlot.Plot.Legend.IsVisible = false;
2.隐藏标题:formsPlot.Plot.Axes.Title.IsVisible = false;
3.Y轴标签倾斜:formsPlot.Plot.Axes.Left.Label.Rotation = -45;
4.X轴标签斜角:formsPlot.Plot.Axes.Bottom.Label.Rotation = -45;
5.标题其他样式:formsPlot.Plot.Axes.Title.Label.属性名=值;
6.X轴标签样式:formsPlot.Plot.Axes.Bottom.Label.属性名=值;
7.清空:formsPlot.Plot.Clear();
8.标题:formsPlot.Plot.Title(title);
9.绘制刷新:formsPlot.Refresh();
10.数据区背景色:formsPlot.Plot.DataBackground.Color = ScottPlot.Color.FromHex(“#1f1f1f”);
11.图形背景色:formsPlot.Plot.FigureBackground.Color = ScottPlot.Color.FromHex(“#181818”);
12.隐藏标题:formsPlot.Plot.Title(false);
13.标题位置:formsPlot.Plot.Axes.Title.FullFigureCenter = true;
14.图表外边框样式:

formsPlot.Plot.FigureBorder=new(){//图标区Color=Colors.Magenta,Width=1,Pattern=LinePattern.Dotted,};

15.数据区外边框样式:

formsPlot.Plot.DataBorder=new(){//数据区Color=Colors.Green,Width=1,Pattern=LinePattern.DenselyDashed,};

16.坐标轴隐藏:formsPlot.Plot.Axes.Frame(false);//formsPlot.Plot.Layout.Frameless(true);
17.缩放因子:formsPlot1.Plot.ScaleFactor = 2;//图表放大2倍
18.线条模式(细线单像素)更丝滑:formsPlot.Plot.Axes.Hairline(true);

二、实例测试及个别示例代码

2.1 示例1

2.2 其他示例

2.2.1 Y轴填充

double[]xs=Generate.Consecutive(51);double[]ys=Generate.Sin(51);varsp=formsPlot1.Plot.Add.Scatter(xs,ys);sp.FillY=true;sp.FillYColor=sp.Color.WithAlpha(.2);formsPlot1.Refresh();
2.2.2 上填充、下填充

double[]xs=Generate.Consecutive(51);double[]ys=Generate.Sin(51);varsp=formsPlot1.Plot.Add.Scatter(xs,ys);sp.FillY=true;sp.FillYValue=0;sp.FillYAboveColor=Colors.Green.WithAlpha(.2);sp.FillYBelowColor=Colors.Red.WithAlpha(.2);formsPlot1.Refresh();
2.2.3 渐变色填充

double[]xs=Generate.Consecutive(51);double[]ys=Generate.Sin(51);varpoly=formsPlot1.Plot.Add.ScatterLine(xs,ys);poly.FillY=true;// colors are placed at specific positions on the X axispoly.AxisGradientDirection=AxisGradientDirection.Horizontal;//放射方向poly.ColorPositions.Add(new(Colors.Red,0));poly.ColorPositions.Add(new(Colors.Orange,10));poly.ColorPositions.Add(new(Colors.Yellow,20));poly.ColorPositions.Add(new(Colors.Green,30));poly.ColorPositions.Add(new(Colors.Blue,40));poly.ColorPositions.Add(new(Colors.Violet,50));formsPlot1.Refresh();
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 7:14:59

git 命令整理

1、git init 作用:初始化一个新的 Git 仓库,在当前目录下创建一个新的 .git 目录来管理版本历史。用法:git init 2、git clone 作用:克隆一个远程仓库到本地。用法:git clone https://github.com/username/repository.…

作者头像 李华
网站建设 2026/6/15 13:19:39

阿里健康董事长朱顺炎卸任:曾是阿里合伙人 沈涤凡接任

雷递网 乐天 12月16日阿里健康(00241.HK)日前发布公告称,公司董事长朱顺炎已辞任非执行董事、主席及提名委员会主席职务。朱顺炎已确认,彼与董事会之间并无意见分歧,亦无有关彼辞任之其他事宜须促请公司股东或联交所垂…

作者头像 李华
网站建设 2026/6/15 12:18:47

18、Mac OS X 开发中的框架与编译要点

Mac OS X 开发中的框架与编译要点 1. 框架概述 在 Mac OS X 系统中, /System/Library/Frameworks 是苹果提供的框架存放位置,这些框架的共享库可供系统上的所有应用程序使用。该目录下有三种类型的框架: - 简单公共框架 :苹果将既不是子框架也不是伞形框架的框架定义…

作者头像 李华
网站建设 2026/6/14 14:43:46

EmotiVoice在恐怖游戏音效中的惊悚表现

EmotiVoice在恐怖游戏音效中的惊悚表现 在一间昏暗的房间里,墙壁渗水,地板吱呀作响。玩家握着手电筒缓缓推进,突然,耳边传来一声低语:“你不该来的……”声音沙哑、颤抖,仿佛就在身后。你猛地回头——什么也…

作者头像 李华
网站建设 2026/6/15 14:44:55

自然语言处理在合规风险管理中的应用

自然语言处理在合规风险管理中的应用 关键词:自然语言处理、合规风险管理、文本分析、机器学习、信息提取 摘要:本文聚焦于自然语言处理(NLP)在合规风险管理领域的应用。首先介绍了研究的背景、目的、预期读者等内容,接着阐述了自然语言处理和合规风险管理的核心概念及其联…

作者头像 李华
网站建设 2026/6/14 21:56:48

148 亿赎金!近三年勒索软件狂赚,企业的钱就这么被抢了?

至少148亿元!近三年受害企业支付勒索软件赎金金额创新高 据美国财政部下属机构统计,2022-2024年期间,受害企业仅通过美国金融机构,就至少向勒索软件组织支付了超148亿元赎金,创下历史新高。 安全内参12月8日报道&…

作者头像 李华