高性能 WPF 图表控件LightningChart.NET:支持从 Web 服务器获取数据 | 附最新版试用下载
LightningChart.NET 是一款高性能 WPF 和 Winforms 图表,可以实时可视化多达1万亿个数据点。可有效利用CPU和内存资源,实时监控数据流。同时,LightningChart使用突破性创新技术,以实时优化为前提,大大提升了实时渲染的效率和效果,用户可以高效直观的观看实时数据源,极高的数据速率可以同时监控数十个数据源。
LightningChart® .NET | 下载试用https://www.evget.com/product/3309/download
一、什么是 WPF 图表控件?
WPF(Windows Presentation Foundation)是 .NET 中用于构建 Windows 桌面应用程序的图形子系统。它提供了丰富的图形功能,支持开发人员创建交互式用户界面。WPF 的一个重要功能是开发图表,它可以帮助开发人员通过一些炫酷的方式开发展示复杂的数据。
有几个可用于 WPF 的图表工具,可以轻松创建图表和图形。这些图表工具提供了广泛的图表类型,包括折线图、条形图、饼图、散点图等。
它们还提供数据绑定、动画和自定义样式等高级功能,使用这些工具,开发人员可以轻松地将图表添加到他们的 WPF 应用程序中,能让客户基于生动的样式更理解数据。
LightningChart .NET 因其强大的性能被广泛开发人员认为是最好的 WPF 图表库。因为它是专为WPF设计的高性能图表库,能提供丰富的图表类型,包括折线图、条形图、饼图等。
借助 LightningChart .NET,开发人员可以轻松创建功能强大的交互式图表,通过 LightningChart .NET 丰富的功能还可以自定义适合其应用程序外观的图表。
LightningChart .NET 最大的特点是支持高效实现数据可视化的性能,可以实时处理大量数据,这也是它成为开发快速响应类图表应用程序选择的原因,例如开发金融、科学和工程应用类程序。
此外,LightningChart .NET 支持实时数据流,可以帮助开发人员创建实时更新的动态图表,随时为用户提供最新信息。
同时,该图表库提供了一个对用户友好的 API,可以帮助开发人员轻松上手,包括它所还附带的一系列教程、示例和文档,以帮助开发人员充分利用其功能。
二、WPF 的 XY 图表
这些是业内具有高渲染性能(嵌入式 DirectX 硬件和软件加速)的 2D 笛卡尔图表。
LightningChart .NET 成为 WPF 图表库的原因在于,它能够通过优化的系列类型、共享的 X 和 Y 轴、内置的实时滚动模式和行业领先的配置选项来可视化复杂而庞大的数据集。
例如,LightningChart .NET 可以创建多种图表类型,也可以实现灵活的互动,下面是对这款图表工具主要特点的概述。
- 系列类型:采样数据(离散信号)、数字/二进制数据、线、散点、点线、自由点线、区域、高-低、多边形、股票(OHLC、烛台)、条形图、带形图、常数线,线集合,强度网格,强度网格。
- 所有不同的系列类型都可以组合在同一个图表中,图表下面可能有地理地图。
- 实时监控滚动模式:滚动、扫描、步进、示波器式电平触发。
- 单独的线段和点着色,垂直和水平方向的误差线。
- Data-breaking 和 Clip-areas 用于排除部分数据。
- 不同的线条样式和无数的点形状。
- 带有等高线、线框和等高线标签的热图。
- 用于在多边形或地图区域内渲染强度系列的模板。
- 注释、标记、数据游标。
- 持久渲染层——用于淡化跟踪历史或累积命中效果。
- 同一图表中支持多个图例框。
- 无限数量的 Y 轴和 X 轴、线性轴和对数轴以及 X 轴刻度线。
- 图表中几个可配置的垂直段,分层/堆叠/分段。
- 用于控制缩放和平移行为的数十个属性。
- 点、线或网格节点跟踪功能。
*注意扫频模式是内置的;没有其他图表提供商有这个。
三、交易者图表
这些是易于使用、易于集成的交易图表,带有技术指标和绘图工具。这是制作交易和技术分析应用程序的最简单方法。
- Trader 库基于 LightningChart API 构建,可作为 WPF 或 WinForms 控件使用。
- 它支持从 Web 服务器获取数据、通过代码提供数据或从 CSV 文件中读取数据。
- 您可以按名称或代码执行股票搜索。
- 支持多种颜色主题。
- 图表类型选择:山峰、折线图、蜡烛图、条形图、DataPacking 特征。
- 支持的技术指标:
- 简单移动平均线 (SMA),
- 指数移动平均线 (EMA),
- 加权移动平均线 (WMA),
- 布林带,
- 相对强度指数 (RSI),
- 移动平均收敛发散 (MACD),
- 随机振荡器 (SO),
- 资金流量指数(MFI),
- 平均真实范围 (ATR),
- 两个直方图和折线图,
- 阿隆,
- 变化率(ROC),
- 三重指数平均数 (TRIX),
- 威廉姆斯百分比范围,
- 累积/分配 (A/D),
- 平均方向指数 (ADX),
- 商品通道指数 (CCI),
- 一目云,
- 平衡量 (OBV),
- 抛物线停止和反转 (PSAR),
- 百分比价格震荡指标 (PPO),
- 持仓量 (OI)
- 支持的绘图工具:
- 趋势线,
- 线性回归通道,
- 斐波那契回撤,
- 斐波那契弧线,
- 斐波那契扇形,
- 徒手标注,
- 艾略特波浪,
- 头肩顶,
- 叉,
- 三角形,
- XABCD模式
- DrawingTools 可以设置为 Magnetic,使其控制点捕捉到当前位置的 OHLC Close 值。
- 图表段管理和调整大小。
- 支持 AlphaVantage 和 MarketStack 数据提供者。
Trader 库建立在 LightningChart .NET API 之上,Trader 库源代码* 为所有订阅者免费提供。
*注意:LightningChart .NET API 源代码本身可作为付费订阅选项使用。
四、3D图表
在 3D“XYZ”笛卡尔图表视图中以信息丰富且有趣的方式可视化您的数据。所有 3D 图表都可用于 WPF、Winforms 和 UWP。
- 3D 世界包含线性和对数轴、墙壁、FrameBox
- 系列类型:表面网格、表面网格、瀑布图、多边形、矩形平面、网格模型、线、点线、散点图、条形图和饼图。
- Series 可以与 VolumeModels 和 CAD 对象相结合。
- 具有多个光源的 3D 场景设置。
- 图表可以将 CAD 对象导入 3D 图表(使用 Wavefront *.obj 文件格式)或从顶点以编程方式构建它们。
- 支持超过 4096×4096 的巨大表面尺寸,具体取决于可用内存。
- 包括一个 ViewPie3D 以在 3D 中可视化饼图和圆环图。
- 支持数十个属性来控制旋转、缩放和平移行为,包括触摸屏功能。
- 使用坐标系转换器轻松显示球形 3D 或圆柱形 3D 数据。
- 该图表可以显示来自 LiDAR 类数据的 100 万个点云。
- 点或表面节点的跟踪功能。
五、地图图表
使用矢量地图或在线瓦片地图启用地图以实现地理数据的可视化。这些地图在 ViewXY 中可视化,并允许在同一可视化中组合路线、热图或箭头等。这些地图使用等距柱状投影。
- 在线瓦片地图支持街道地图和卫星图像。
- 数十张地图:世界、大陆、特定区域。
- 多层:土地、湖泊、河流、道路、城市等。
- 从 ESRI 形状文件数据导入地图。
- 在可视化中结合其他 XY 系列。
- 以可选地理坐标格式显示的轴刻度
相关文章:

高性能 WPF 图表控件LightningChart.NET:支持从 Web 服务器获取数据 | 附最新版试用下载
LightningChart.NET 是一款高性能 WPF 和 Winforms 图表,可以实时可视化多达1万亿个数据点。可有效利用CPU和内存资源,实时监控数据流。同时,LightningChart使用突破性创新技术,以实时优化为前提,大大提升了实时渲染的效率和效果&…...

文科女生月入14k背后:转行IT软件测试不是谁都学得来!
转行软件测试背后,或许每个人都有自己的无奈。就拿今天要和大家分享的这位小姐姐来说吧,如果不是万不得已,又怎么会狠下心来转行到IT互联网? 应届生逃避就业,考研失败 和大多数人一样,小姐姐的大学生活过得…...

GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取
目前汇聚各种厂家监控设备的视频汇聚平台,基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家(包括海康、大华、华为、宇视、天地伟业等)监控汇聚到同一个服务器上后,如何或者直播链接…...

认识BUG
如何描述 bug一个合格的 bug 描述应该包括以下几个部分:发现问题的版本开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障,并且版本的标识也有利于统计和分析每个版本的质量。问题出现的环境环境分为硬件环境和软件环境&am…...
C++string类型内置的搜索函数
string的搜索操作 string类型一共提供了6种不同的搜索函数,每个函数都有4个重载版本。如果搜索成功,每个搜索操作都会返回一个 string::size_type类型的值,表示匹配发生位置的下标。 如果搜索失败,则会返回一个名位string::npos…...
Disruptor 消费线程丢失、写入无限阻塞问题
使用jstack打印后,发现 1)写入disruptor线程卡死在 java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:338) at com.lmax.…...

【禅道测试环境搭建及安装】Linux上的禅道安装教程,从环境搭建开始
目录 一、操作环境 二、安装VMware 三、安装FinalShell 四、在VMware里安装CentOS 1.前置:CentOS的下载 2.CentOS的安装 3.查看网络 五、用宿主机连接远程的虚拟机 六、禅道包的下载与CentOS配置的修改 七、上传项目包并安装禅道 一、操作环境 Windows 10…...

spring-boot rabbitmq整合
文章请参考:Springboot 整合RabbitMq ,用心看完这一篇就够了 mven依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></depende…...
CentOS7安装redis redis常用命令
Redis简介Redis是一个开源免费的、使用C语言编写的NoSQL 数据库。Redis基于内存运行并支持持久化(RDB、AOF方式将数据保存在磁盘),采用key-value (键值对)的存储形式。Redis数据类型Redis支持五种数据类型:string(字符串)…...

世界文明的脉络
人类文明大体上可分为农耕文明、海洋文明和游牧文明三大类别,文明的标志一般是文字、青铜器、城市以及礼仪性建筑等要素。据此,史学家目前已发现了巴比伦文明、埃及文明、印度文明、华夏文明、希腊文明和波斯文明六种主要文明,其中前四种文明…...

map和set 的封装
文章目录引入key-value模型map和set底层setset的几个重要接口mapmap几个重要的接口map和set的封装引入 对于map和set的引入,我们用一道在程序中常见的问题解决: 给定一个数组int arr[]{1,2,1,3,1,4,1,5,5,2,3,4,5};,给出以下问题的解决方案&…...

Springboot集成kafka(环境搭建+演示)|超级详细,建议收藏
Springboot集成kafka一、前言🔥二、环境说明🔥三、概念🔥四、CentOS7安装kafka🔥1.下载kafka安装包2.下载好后,进行解压六、kafka项目集成🔥1️⃣pom引入2️⃣配置kafka3️⃣一个kafka消息发送端4️⃣定义一…...

Qt 绘制图表 - Qt Charts版
一、前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利。但是Qt自己却一直没有提供自带的图表库,这就使得 QWT、QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开发成本,大家都涌向了这些第三方库。这种…...

Java学习笔记 --- JavaScript
一、JavaScript介绍 JavaScript语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码。JS是Netcape网景公司的产品,最早取名为LiveScript;为了吸引更多java程序员。更名为 JavaScript JS是弱类型&…...
AP5216 平均电流型LED 降压恒流驱动器
产品描述 AP5216 是一款 PWM工作模式, 高效率、外围简单、内置功率管,适用于5V~100V输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达 9W,最大电流 1.0A。 AP5216 可实现全亮/半亮功能切换,通过MODE 切换:全亮/…...

B站的多个视频教程,怎样生成一个二维码?
商业插画视频教程、电商运营视频教程、在线网课视频、舞蹈视频教程、摄影视频教程、语言学习教程、纪录片视频…所有你发布在哔哩哔哩上的视频,都可以放在一个二维码里面。 任何人只要扫描这个二维码,就能在线观看你的这些视频教程!分享起来…...

深入底层源码的Listener内存马(内存马系列篇三)
写在前面 继前面的FilterServlet内存马技术,这是系列文章的第三篇了,这篇将给大家带来的是Listener内存马技术。 前置 什么是Listener? 监听器 Listener 是一个实现特定接口的 Java 程序,这个程序专门用于监听另一个 Java 对象…...

云端需求助力跑赢周期,金山办公有望借助ChatGPT加速腾飞
与微软在办公领域“搏杀”了三十年的金山办公,或许正在迎来自己的“第二春”。2月25日,金山办公(688111)发布2022年度业绩快报,全年营收38.85亿元人民币(单位下同),同比增加18.44%&a…...

Vulnhub靶场----8、DC-8
文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-8下载地址:https://download.vulnhub.com/dc/DC-8.zip kali:192.168.144.148 DC-8:192.168.144.156 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.156思路&am…...
Makefile 和 Shell 脚本的区别与联系
以下内容转载于博客Makefile 和 shell 脚本的区别与联系,有删改与内容添加。 参考内容:初学Makefile指南 一、什么是 Makefile? Makefile 描述了整个工程的编译、链接规则。当源码文件比较多的时候就不适合通过输入 gcc 命令来编译…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...