大家好, 我是等天黑, 今天给大家介绍一个功能完善, 性能强悍的图表组件库 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年, 不存在版权和收费问题•组件丰富:图表组件非常全面,可满足各种场景下的展示需求。

图表接入

⚡ 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();

⚡ WPF

1.通过Nuget安装 ScottPlot.WPF2.添加一个 WpfPlot 组件到布局中, 并设置Name

<WpfPlot Name="WpfPlot1" />

3.同样, 填充图表数据, 完成!

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();

⚡ Console App

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

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

图表示例

项目背后的故事

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

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

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

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

另外, 作者在 2012 年被诊断出患有癌症(外周 T 细胞淋巴瘤), 然后在2018年开始接受治疗,包括化疗、放疗和自体骨髓移植, 好消息是, 整个手术的过程还算顺利。

截至到目前, 作者仍然保持着很好的状态, 感谢作者带来如此强大的图表组件, 最后也祝愿作者能够越来越好, ScottPlot 也能越来越好!

https://github.com/ScottPlot/ScottPlot

https://swharden.com/

.NET 开源免费图表组件库,Winform,WPF 通用相关推荐

  1. JS组件系列——开源免费图表组件:Chart.js

    前言:最近被开源免费得有点上火了,各种组件首先想到的就是是开源否.是否免费.是否和bootstrap风格一致.想着以后做报表肯定要用到图表组件的,于是在Bootstrap中文网上面找到了Chart.j ...

  2. Asp.net报表制作 OpenFlashChart免费图表组件

    Asp.net报表制作 OpenFlashChart免费图表组件 OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表组件,用它能创建一些很有效果的报表分析图 ...

  3. 9个开源的 Vue3 组件库

    作者:ARRON https://juejin.cn/post/7092766235380678687 参考了如下组件库,因为有些设计是多个版本和框架的,这里只讨论 Vue3 版本. element- ...

  4. vue 图表 组件库 vue-highcharts

    原文链接: vue 图表 组件库 vue-highcharts 上一篇: flask 前端应用展示 下一篇: Python shutil 模块 文件操作 git https://github.com/ ...

  5. B端后台Dashboard页面 数据可视化页面 常用图表组件库合集 sketch格式

    数据是企业的上帝之眼,数据可视化就发挥了很大的作用.很多从事B端产品设计的小伙伴在日常工作中遇到数据可视化的场景比较多,除了大屏可视化场景外,还有后台Dashboard页和一些前台统计页. 后台的设计 ...

  6. Naive UI - 火热出炉!基于 Vue 3.0/TypeScript 的免费开源前端 UI 组件库

    非大厂 KPI 项目!开源三天就收获 800 Star,还获得 Vue 作者尤雨溪的官方推荐. 关于 Naive UI Naive UI 是一款基于当前比较新的 Vue 3.0/TypeScript ...

  7. LuLu UI - 腾讯阅文集团出品的“半封装” 开源 Web UI 组件库,特点是面向设计、简单灵活、支持 Vue

    阅文集团前端大神张鑫旭的团队出品的面向设计的前端 UI 组件库,上手简单,定制性强. 关于 LuLu UI LuLu UI 是一款面向桌面端和移动端网页开发的组件库,由阅文集团前端团队出品.阅文集团由 ...

  8. ionic 修改组件默认样式_开源Magpie:组件库详解

    开源项目专题系列(八)1.开源项目名称:magpie_fly2.github地址: https://github.com/wuba/magpie_fly 3.简介:magpie_fly 是58集体出品 ...

  9. 产品经理、交互设计师必备的超赞Web端Axure原型设计组件库、元件库、图表组件库

    本组件库是一套通用型的中后台信息系统原型方案,可以快速扩展并输出标准美观的中后台产品原型,极大的提升输出效率和节省协作成本.方案中提供了几套不同风格和结构的系统框架,并涵盖了大量的常用组件和通用页面模 ...

最新文章

  1. FreeBSD从零开始---Web服务器搭建(一)
  2. 分布式加载数据训练神经网络
  3. C-指针,二级指针,二维数组作为函数参数使用,C语言链表(详解)
  4. ACM Smallest Difference
  5. python中的偏函数
  6. vue element-ui登录页面源码
  7. 带日期的bean转为json(bean-JSON)
  8. java处理unicode_C# JavaScript Java 与 中文 unicode 处理
  9. idea将本地项目推送至远程仓库(图形化版本01)
  10. WPS宏开发之VBA宏转JS宏
  11. 轻量级网络——ShuffleNetV2
  12. eclipse快捷键总结
  13. 公众号600篇文章分类和索引
  14. Segment Routing MPLS学习笔记
  15. Scratch制作贪吃蛇
  16. 软件设计师笔记之信息安全知识
  17. 单枪匹马想要搞定亿级流量?2021阿里都换成这个牛逼架构了
  18. Leetcode210-课程表II
  19. bugku_noteasytrick
  20. Cryptography,一个C#写的加解密算法的类

热门文章

  1. C/C++ 读取16进制文件
  2. mysql 导致iis 假死_解决IIS无响应假死状态
  3. VM-ESXI 相关常用命令(Updateing)
  4. mysql 5.7.18 winx64安装配置方法
  5. k64 datasheet学习笔记12---System Integration Module (SIM)
  6. bzoj2721 [Violet 5]樱花
  7. 01_反射_02_反射类的构造方法
  8. 【6】JAVA---地址App小软件(QueryPanel.class)(表现层)
  9. Java队列集合的性能测试
  10. 如何在Microsoft Word中插入签名