千万级数据处理无压力,媲美matplotlib的图表组件库

今天给大家介绍一个功能完善, 性能强悍的图表组件库 ScottPlot, 当我第一次在 github 上看到这个库, 我看不懂,但我大受震撼, 这么好的项目当然要分享出来了。

今天给大家介绍一个功能完善, 性能强悍的图表组件库 ScottPlot, 当我第一次在 github 上看到这个库, 我看不懂,但我大受震撼, 这么好的项目当然要分享出来了。

https://github.com/ScottPlot/ScottPlot

ScottPlot 是一个 .NET 图表组件, 主要有以下特点:

  • 适用范围广:同时适用于 WinForms, WPF, Avalonia, Console, 支持 .NET Framework 4.6.1 及以上, NET Core 2.0 至 .NET 5。
  • 上手简单:只需几行代码即可创建折线图、条形图、饼图、散点图等。
  • 性能强悍:千万级数据处理无压力, 媲美 Python Matplotlib。
  • 可交互:支持用户和图表数据进行交互, 注入灵魂。
  • 开源免费:基于MIT开源协议, 已经开源近5年, 不存在版权和收费问题
  • 组件丰富:图表组件非常全面,可满足各种场景下的展示需求。

千万级数据处理无压力,媲美matplotlib的图表组件库

图表接入

⚡ Winform

  1. 通过Nuget安装 ScottPlot.WinForms。
  2. 安装完成后, 就可以在工具箱找到 ScottPlot 组件, 然后拖到 Winform 窗体上。
  3. 填充图表数据, 完成!
double[] dataX = new double[] {1, 2, 3, 4, 5};double[] dataY = new double[] {1, 4, 9, 16, 25};formsPlot1.Plot.AddScatter(dataX, dataY);formsPlot1.Refresh();

千万级数据处理无压力,媲美matplotlib的图表组件库

⚡ WPF

  1. 通过Nuget安装 ScottPlot.WPF
  2. 添加一个 WpfPlot 组件到布局中, 并设置Name
<WpfPlot Name="WpfPlot1" />
  1. 同样, 填充图表数据, 完成!
double[] dataX = new double[] { 1, 2, 3, 4, 5 };double[] dataY = new double[] { 1, 4, 9, 16, 25 };WpfPlot1.Plot.AddScatter(dataX, dataY);WpfPlot1.Refresh();

千万级数据处理无压力,媲美matplotlib的图表组件库

⚡ Console App

当然也可以在控制台应用中使用该图表组件, 和上面不同的是, 它会渲染成一张图片, 然后可以保存到本地

  1. 通过Nuget安装 ScottPlot
  2. 填充图表数据并保存为图片

千万级数据处理无压力,媲美matplotlib的图表组件库

图表示例

千万级数据处理无压力,媲美matplotlib的图表组件库

千万级数据处理无压力,媲美matplotlib的图表组件库

千万级数据处理无压力,媲美matplotlib的图表组件库

千万级数据处理无压力,媲美matplotlib的图表组件库

项目背后的故事

wow, 很优秀的开源项目, 但其实我还想分享一些项目背后的故事, 因为这非常有意义!

ScottPlot 图表库 的作者是 Scott W Harden, 他是一名生物研究科学家, 目前在神经科学实验室工作, 他的主要专业是分子生物学、牙科和神经科学, 但是也对计算机编程和电气工程充满热情, 所以偶尔会编写代码来完成与科学研究相关的任务。

千万级数据处理无压力,媲美matplotlib的图表组件库

像很多科学家一样, Scott 也使用 Python 流行的的 matplotlib 处理数据, 但是发现在给一些不太懂计算机的用户安装软件时, 总会出现一些环境问题, 配置问题等等, 所以他在2017年做了个决定, 学习.NET 技术栈, 主要用来开发用于科学研究的桌面应用程序。

但是问题来了, 当他尝试用 C# 绘制 WAV 文件中的数据时,发现非常困难, Python 中的微不足道的任务在 C# 中似乎非常困难, 虽然有免费的图表库, 但是当加载了千万级的数据时就开始有各种问题了,有一些商业图表库好像可以用,但既复杂又昂贵, 有些库仅适用于 Winforms,有些仅适用于 WPF,而且许多库具有复杂的数据对象模型,对于 .NET 新手来说非常难以理解, 于是作者就自己实现了图表组件, 这就是 ScottPlot 初版, 然后就开源在了github, 经过几年的逐步更新迭代, ScottPlot 变成了一个功能丰富, 成熟稳定的图表组件库。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/119432.html

(0)

相关推荐

  • “烧光84亿造不出车”的拜腾,被申请破产清算

    (文/潘昱辰 编辑/娄兵)曾一度与蔚来等新造车企业齐名的拜腾汽车,在烧光高达84亿元融资后被迫关闭公司与工厂。如今,这家新势力留下的一地鸡毛,又将迎来新一轮的清理。

    科技 2021年11月2日
  • 生活的正确打开方式,生活是未来式

    视频加载中...

    科技 2021年12月10日
  • 啥到底是个女权,有人帮忙解答一下吗?

    首先说明,我无才无德,就是自己瞎想,别喷我,就感觉现在社会发展的非常有意思,总会有一部分(还不少)女性不想生孩子,说什么孩子拖累自己,阻碍追求事业道路,养孩子负担太大(我是只说一部分,我没有说全部,别喷我,我胆小),说起来的的时候,就会举出一大堆例子怎么怎么的,国外怎么怎么的,科学技术多发达,可以无性繁殖啥啥啥的,当然我没文化,不懂这个科学技术。我狭隘的思想真的没办法理解,中华五千年的文化不都是人传人延续下来的吗?退一万步讲,全世界不都是人传人把文化延续下来的吗?用技术复制出来的真的有人的各种各样情绪和思维吗?那人活一辈子不就是上一代人为下一代人活着吗?拥有孩子之后,努力赚钱,看着孩子成长,在这个过程中经历着喜怒哀乐,酸甜苦辣不也是一件非常有趣的事吗?就谈到孩子这件事,还有一些姑娘会扯上什么男权主义,女人是生育工具类似的话题,难道新时代的女性不让生孩子就是男女平等,不是男权主义了吗?好像把繁衍生息和生育工具这两个概念混淆了,我文化不行,可能言辞有部分不太恰当,但这个着实是我最近的困惑,有哪位好心人解答一下。

    生活 2021年9月26日
  • 比利时达成协议向第4家电信运营商敞开大门

    据ET TELECOM 11月24日报道,比利时政府11月24日宣布,将于2022年授权拍卖该国的5G频谱,并在经过数月的讨论后为第4家移动电信运营商打开了大门。

    科技 2021年11月25日
  • 哺乳期妈妈忌口的食物一定要记住(母乳妈妈忌口哪些)

    怀孕的时候,很多宝妈们为了宝宝的健康,非常注意饮食健康,甚至每次吃饭前,都要百度一下这道菜孕妇能不能吃。每当馋虫发作的时候,都会幻想着:再坚持一下,等宝宝出生后就好了。等到卸货后,觉得自己终于解放了,再也不用忌口了,但随之而来的哺乳期,又把宝妈们打得措手不及,得了,还是得忌口,甚至忌口的时间比孕期还长,让宝妈们不禁哀叹:吃什么都没有自由,这两年哺乳期可怎么熬。

    生活 2021年12月14日