ScottPlot 从零上手:.NET 数据可视化 10 分钟出第一张图

发布时间:2026/8/25 1:14:38

ScottPlot 从零上手:.NET 数据可视化 10 分钟出第一张图
ScottPlot 从零上手.NET 数据可视化 10 分钟出第一张图【免费下载链接】ScottPlotInteractive plotting library for .NET项目地址: https://gitcode.com/gh_mirrors/sc/ScottPlot手边有一份 200 行的销售 CSV下午要交一张趋势图。想在 .NET 里做数据可视化又不想为此临时啃一套绘图 API——ScottPlot 从装包到出图10 分钟能走完。它是什么ScottPlot 是一个 MIT 协议的 .NET 开源绘图库核心包只负责把数据画成位图再往上提供 WinForms、WPF、Avalonia、Blazor 等 UI 控件包负责把图嵌进窗口并支持缩放平移。它适合要几行代码出一张图的开发者。和 LiveCharts、OxyPlot 这类库的分水岭在于底层用 SkiaSharp 自绘不依赖宿主框架的绘图原语所以同一个Plot对象既能存 PNG也能塞进任何支持 SkiaSharp 的界面。装之前确认这几项.NET SDK 8 或更高版本先dotnet --list-sdks确认核心库同时支持 .NET Framework 4.6.2 与 .NET Standard 2.0你的项目是普通类库/控制台还是 UI 项目——决定装核心包还是连带控件包NuGet 源默认指向 nuget.org公司内网换源后也能搜到 ScottPlot若要改源码仓库为 https://gitcode.com/gh_mirrors/sc/ScottPlot 本地编译 src/ScottPlot5/ScottPlot5.sln渲染走 SkiaSharpWindows/macOS 开箱即用Linux 可能需要补字体库装完直接出图命令行安装在装好的项目目录里执行下面一条命令NuGet 会解析出 SkiaSharp 等依赖并写入 csprojPackage Manager Console 里的备选是Install-Package ScottPlot。dotnet add package ScottPlot最小出图示例下面这段代码创建 600x400 的图画一条二次曲线存成 PNG运行后工作目录会出现 quickstart.png打开确认坐标轴、网格、图线都正常即算跑通。var plt new ScottPlot.Plot(600, 400); double[] xs { 1, 2, 3, 4, 5 }; double[] ys { 1, 4, 9, 16, 25 }; plt.Add.Scatter(xs, ys); plt.SaveFig(quickstart.png);能画什么、能跑在哪图表类型API折线Add.Signal散点Add.Scatter柱状Add.BarPlot箱线Add.BoxPlot蜡烛Add.OHLC热图Add.Heatmap直方图Add.Histogram饼图Add.PieUI 框架控件包WinFormsFormsPlotScottPlot.WinFormsWPFWpfPlotScottPlot.WPFAvaloniaAvaPlotScottPlot.AvaloniaBlazorBlazorPlotScottPlot.Blazor操作系统覆盖 Windows、macOS、Linux不嵌界面的场景直接用核心包存图即可。按框架初始化WinForms 初始化差异控件包是 ScottPlot.WinForms把 FormsPlot 加到窗体并 Dock 为 Fill之后通过 Plot 属性画图每次改动后调 Refresh()。var fp new ScottPlot.WinForms.FormsPlot { Dock DockStyle.Fill }; fp.Plot.Add.Scatter(xs, ys); fp.Refresh();WPF 初始化差异控件包是 ScottPlot.WPFXAML 里要声明 wpf 命名空间C# 代码改图后调 Refresh() 重绘。xmlns:wpfclr-namespace:ScottPlot.WPF;assemblyScottPlot.WPF wpf:WpfPlot NameWpfPlot1 /WpfPlot1.Plot.Add.Scatter(xs, ys); WpfPlot1.Refresh();Blazor 初始化差异控件包是 ScottPlot.Blazorrazor 里放 BlazorPlot通过 ref 取到组件后在生命周期方法里加数据它和 WPF 的关键差别是多一次组件引用和一次显式 Refresh。BlazorPlot refPlot / code { ScottPlot.Blazor.BlazorPlot Plot; protected override void OnInitialized() Plot.Plot.Add.Scatter(xs, ys); }高频坑与解法现象编译报 SkiaSharp 程序集版本冲突或 TypeLoadException。根因工程里其他包引用了不同版本的 SkiaSharp运行时加载了错的那份。一行修复用包管理器把 ScottPlot 与 ScottPlot.* 全部统一升到 5.1.x让 NuGet 一并协调 SkiaSharp 版本。现象Linux 上窗体能打开但图区空白。根因缺少 libfontconfig 等 SkiaSharp 运行库。一行修复sudo apt install libfontconfig1 fontconfig重开应用即恢复。现象百万点散点拖拽缩放明显卡顿。根因Scatter 每帧对全部点逐点连线Signal 数据源有分段 min/max 缓存同规模下开销低得多。一行修复把Add.Scatter(xs, ys)换成Add.Signal(ys)交互立刻恢复流畅。现象标题里中文或希腊字母渲染成方块。根因系统没有对应字形SkiaSharp 找不到 CJK 字体。一行修复Linux 上先装fonts-noto-cjk再在代码里把plt.Fonts.Default指定为系统中真实存在的中文字体名。延伸阅读官方文档站 scottplot.net查 API 语义、交互行为和跨框架差异以在线文档为准Cookbook 示例仓库内src/ScottPlot5/ScottPlot5 Cookbook/Recipes/按图表类型组织的可运行代码照着抄最快演示项目src/ScottPlot5/ScottPlot5 Demos/各框架下的完整交互窗口确认控件行为时可对照核心库源码src/ScottPlot5/ScottPlot5/Plottables/每个 Plottable 一个文件需要改渲染逻辑时从这里下手【免费下载链接】ScottPlotInteractive plotting library for .NET项目地址: https://gitcode.com/gh_mirrors/sc/ScottPlot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

3步跑通 drawio-desktop:免费离线流程图绘制与 Visio 文件转换指南

3步跑通 drawio-desktop:免费离线流程图绘制与 Visio 文件转换指南

2026/8/25 1:14:38

3步跑通 drawio-desktop:免费离线流程图绘制与 Visio 文件转换指南 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop drawio-desktop 是 draw.io 的官方桌面版&#x…

统计学硕士论文降AI教程:统计专业研究生论文AIGC超标免费4.8元知网维普达标完整操作指南

统计学硕士论文降AI教程:统计专业研究生论文AIGC超标免费4.8元知网维普达标完整操作指南

2026/8/25 1:04:37

统计学硕士论文降AI教程:统计专业研究生论文AIGC超标免费4.8元知网维普达标完整操作指南 第一次用降AI工具有很多不确定——传什么格式、选哪个模式、怎么验收。 这篇教程把统计学硕士论文降AI的常见问题都覆盖了,主要基于嘎嘎降AI(www.aig…

8 篇 约束人工智能的锁

8 篇 约束人工智能的锁

2026/8/25 1:04:37

《人工智能与2036年》 若无无条件的限制手段, 人工智能会与人类生命形成博弈, 于理论层面而言这种情况是百分之百会出现的。 用于约束人工智能的锁, 是一种加密技术, 它在完全暴露源代码的情形下, 即便调动全球的算力, 也仍旧无法被突破, 且这种加密需符合加密的有效泛型。 …

Kafka面试全攻略:100道实战题解析与核心架构剖析

Kafka面试全攻略:100道实战题解析与核心架构剖析

2026/8/25 3:34:44

1. Kafka面试全景图:为什么这100道题能覆盖全场景?作为分布式消息系统的标杆,Kafka在互联网公司的技术栈中占据核心地位。我整理了这套面试题的初衷,源于自己作为面试官时遇到的困境——候选人往往对基础概念对答如流,…

直播音频审核平台实测:延迟与准确率如何影响内容安全?

直播音频审核平台实测:延迟与准确率如何影响内容安全?

2026/8/25 3:34:44

1. 项目概述:为什么直播音频审核的“延迟”与“准确率”是生死线?最近在搭建一个新的直播内容安全体系,音频审核平台成了选型的关键一环。和几个负责风控和运维的同事聊了一圈,发现大家最头疼的不是“要不要做审核”,而…

大模型后训练实战:如何用百亿参数模型超越万亿参数表现

大模型后训练实战:如何用百亿参数模型超越万亿参数表现

2026/8/25 3:34:44

在实际的大模型技术讨论中,我们经常听到关于“规模法则”的争论:模型参数是不是越大越好?当行业追逐万亿参数时,这是否是一条正确的技术路径?近期,一些来自学术界和工业界的资深研究者,如清华大…

OpenClaw五大AI技能:从需求挖掘到精准测试的智能测试实践

OpenClaw五大AI技能:从需求挖掘到精准测试的智能测试实践

2026/8/25 3:34:44

1. 从“手工苦力”到“智能副驾”:测试工程师的OpenClaw初体验如果你是一名测试工程师,或者正在为团队的质量保障流程发愁,最近可能没少听到“AI测试”、“智能提效”这些词。但说实话,很多工具要么是“玩具”,解决不了…

OpenClaw:基于CVE聚合与Jira自动化的漏洞管理实践

OpenClaw:基于CVE聚合与Jira自动化的漏洞管理实践

2026/8/25 3:34:44

1. 项目概述:从“看见”风险到“处理”风险在安全运营的日常里,我们常常面临一个尴尬的局面:漏洞扫描器、资产管理系统、威胁情报平台各自为战,每天产生海量的CVE(通用漏洞披露)告警。安全工程师像救火队员…

GitSource即溯:专为PPT创作者打造的代码托管与协作平台

GitSource即溯:专为PPT创作者打造的代码托管与协作平台

2026/8/25 3:24:44

这次我们来看一个专门为PPT创作者设计的代码托管平台——GitSource即溯。如果你经常在GitHub上找PPT模板、图表资源或者开源演示工具,但受限于访问速度、语言或协作流程,那么这个国内平台值得关注。它不是要替代GitHub,而是针对PPT创作场景&a…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…