「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?(一)

LightningChart .NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

立即申请LightningChart .NET试用

WPF中的表格

在本文中,我们将创建一个带有数据注释的图表,这是一个探索具有两个 Y 轴的点线系列的好机会。

另一方面,数据注释是LightningChart.NET的另一个出色功能。有了它们,我们可以在图表上直接创建数据表,让用户能够与该表的一些可视属性进行交互。注释表可以显示多个值,并且可以使用 C# 代码、利用 For 循环和其他编程工具轻松创建。

使用注释类似于使用 HTML 表,本质上,您创建一个父AnnotationXY对象,然后添加嵌套AnnotationXY对象作为单元格,配置字体、颜色和边框等视觉属性与分配 CSS 属性非常相似。

什么是 LightningChart 的 WPF 图表?

LightningChart 的 WPF 图表(称为 LightningChart for WPF)是一款功能强大的数据可视化工具,专为 Microsoft Windows Presentation Foundation (WPF) 设计,这些WPF 图表(通常称为 WPF 图表)可以轻松集成到您的 Microsoft Visual Studio 工具箱中。

您可以使用拖放、XAML 或代码隐藏将它们添加到您的软件项目中。添加后,WPF 图形将成为 Windows 桌面应用程序中用户界面 (UI) 的关键部分,使其成为软件开发人员的宝贵工具。

什么是 WPF?

Windows Presentation Foundation (WPF) 是一个用于创建具有复杂用户界面的应用程序的框架。它由两个主要组件组成:标记(用于定义结构和外观)和代码隐藏(用于管理应用程序的逻辑和行为)。

项目概况

今天我们将使用LightningChart .NET 图表组件在 WPF 中创建表格。

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

标记

标记使我们能够构建具有各种控件的用户界面,同时能非常精确地管理应用程序中的显示结果。此界面开发是使用 XAML(可扩展应用程序标记语言)完成的。虽然它最初看起来像一个 XML 模板,但 XAML 专门用于构建应用程序界面,而不仅仅是在应用程序之间交换数据。

界面的数据、图形和动画可以从外部源文件中提取,也可以通过后台代码动态生成。

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="Window with Button"
Width="250" Height="100">
<!-- Add button to window -->
<Button Name="button">Click Me!</Button>
</Window>

一些控件的创建几乎与 HTML 标签的创建相同,而在其他情况下,样式等属性仅限于标签内属性的声明。

后台代码

后台代码是指包含可执行代码的文件,负责读取、生成和处理用户所需的结果。其主要目的之一是将图形界面代码(如 XAML、HTML、CSS 等)与可执行代码分离,这种分离使我们能够将工作分为用户界面设计和底层代码的开发,从而实现更安全、更有条理和更快速的开发。

对于 WPF(Windows Presentation Foundation),我们使用 C# 编程语言。C# 是一种面向对象/组件的语言,非常适合这种方法。LightningChart .NET 使用可执行的 C# 代码生成 WPF 项目,在此代码中,您可以使用 LightningChart .NET 自己的工具,如果安装了 LC .NET 框架,则可以轻松导入这些工具。

本地设置

对于这个项目,我们需要考虑以下要求来编译项目。

  1. 操作系统:32位或64位Windows Vista或更高版本,Windows Server 2008 R2或更高版本。
  2. DirectX:9.0c(Shader model 3 及更高版本)或 11.0 兼容图形适配器。
  3. Visual Studio:2010-2019 用于开发,不需要部署。
  4. 平台.NET Framework:安装 4.0 或更新版本。

现在转到下一个 URL 并下载 LightningChart .NET,然后您将被重定向到登录表单,必须在其中完成一个简单的注册过程才能访问您的 LightningChart 帐户。

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

登录您的帐户后,您可以下载 SDK“免费试用”版本,该版本允许您使用本WPF教程中表格的重要功能。下载 SDK 后,您将获得一个如下所示的 .exe 文件:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

安装将是典型的 Windows 过程,因此请继续进行,直到完成。安装完成后,您将看到以下程序:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

Visual Studio 项目

LightningChart 可视化工具与 Visual Studio 的主要区别在于,我们可以在源代码中分析和试验许多功能。在 LC 可视化工具中,选择“注释表格图表”示例并运行它:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

在窗口的右上角,您将看到以下选项:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

SDK 试用版允许我们使用 WPF 框架,选择正确的框架后,需要指定一个文件夹,用于在 WPF 图表项目中创建表格:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

创建项目后,Visual Studio 将打开并准备执行。

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

XAML 代码审查

主 XAML 代码将包装在MainWindow.xaml.cs中,并包含球体 GUI 控件的代码。

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

在代码中,我们将检查两种方法来创建在 WPF 中正确绘制表格所需的属性。交互式示例由各种用户控件构建,用于操作和更改图表的视觉属性。这些控件不是生成此图表所必需的,因此我们将重点介绍负责生成对象的代码。

CreateChart()

此方法将负责配置我们的图表,添加轴、组、颜色等,将创建我们的图表:

// Create a new chart.
_chart = new LightningChart();
_chart.BeginUpdate();

BeginUpdate函数将允许我们停止绘制图表,这将允许设置想要自定义的属性,现在将为WPF图表中的表格分配一个标题:

_chart.ViewXY.DataCursor.Visible = true;
//Chart name
_chart.ChartName = "Annotations table chart";

属性DataCursor(true),显示一个小型数据表,其中包含光标指向处的值。

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

如果值为 false,则不会显示此数据表。如果需要,我们可以在图表中显示图例框。如果值为 false,则图例框将被隐藏。

//Hide legend box
_chart.ViewXY.LegendBoxes[0].Visible = false;
轴设置

要访问 X 轴,只需从 XAxes 列表中选择索引零。由于我们仅使用具有单个 X 轴的图表,因此默认情况下会将其分配给索引零:

// Configure x-axis.
AxisX xAxis = _chart.ViewXY.XAxes[0];
xAxis.SetRange(0, 100);
xAxis.ScrollMode = XAxisScrollMode.None;
xAxis.ValueType = AxisValueType.Number;

范围是从 0 到 100:

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?

滚动模式为我们提供了 5 种滚动 X 轴的行为选项:

  • None: X 轴不自动滚动。
  • Scrolling: 当滚动位置接近图形末尾时,X 轴将会滚动。
  • Stepping: 当滚动位置到达图形末尾时,使用Step移动视图。
  • Sweeping: 以前的痕迹将留在背景中,新的痕迹将被清除。
  • Triggering: X 轴最小值和最大值由检测到的水平触发位置。
_chart.ViewXY.YAxes.Clear(); // Remove existing y-axes.
AxisY yAxisTemperature = new AxisY(_chart.ViewXY);
yAxisTemperature.Title.Text = "Temperature, °C";
yAxisTemperature.SetRange(-30, 50);
yAxisTemperature.AxisColor = TemperatureColor;
yAxisTemperature.Title.Color = TemperatureColor;
_chart.ViewXY.YAxes.Add(yAxisTemperature);

我们可以使用Clear函数清除 X 或 Y 轴,当需要更新轴范围或视觉属性时,这非常有用,颜色在代码开头指定。

private static Color TemperatureColor = Colors.DarkOrange;
private static Color HumidityColor = Colors.Red;

我们可以有多个轴,在本例中我们创建另一个 Y 轴,它将显示在图表的右侧,该轴将指示湿度百分比:

AxisY yAxisHumidity = new AxisY(_chart.ViewXY);
yAxisHumidity.Title.Text = "Humidity, %";
yAxisHumidity.SetRange(0, 100);
yAxisHumidity.MajorGrid.Visible = false;
yAxisHumidity.MinorGrid.Visible = false;
yAxisHumidity.AxisColor = HumidityColor;
yAxisHumidity.Title.Color = HumidityColor;
_chart.ViewXY.YAxes.Add(yAxisHumidity);

第二轴的设置与上一个轴相同,水平网格线绘制在刻度线的垂直位置上。主网格用于主刻度线,次网格用于次刻度线,使用MajorGrid和MinorGrid属性编辑外观。

_chart.ViewXY.AxisLayout.YAxisAutoPlacement = YAxisAutoPlacement.LeftThenRight;

YAxisAutoPlacement = LeftThenRight轴分布在图形的左侧和右侧,从左侧开始,每隔一个轴分布在对侧。

未完待续,更多精彩下期见......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9415.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

大数据学习11之Hive优化篇

1.Hive压缩 1.1概述 当前的大数据环境下&#xff0c;机器性能好&#xff0c;节点更多&#xff0c;但并不代表我们无条件直接对数据进行处理&#xff0c;在某些情况下&#xff0c;我们依旧需要对数据进行压缩处理&#xff0c;压缩处理能有效减少存储系统的字节读取数&#xff0…

【Linux】【Vim】多文件编辑与分屏

多文件编辑 编辑另一个文件文件列表分屏vimdiff文件跳转 编辑另一个文件 除了为每一个要编辑的文件运行一次 Vim 之外&#xff0c;还可以在当前 Vim 中开始编辑另一个文件。 :edit foo.txtVim 会关闭当前正在编辑的文件打开指定的新文件进行编辑。如果当前文件还有未存盘的内容…

Fastify Swagger:自动化API文档生成与展示

在现代软件开发中&#xff0c;API文档的生成和维护是一个不可或缺的环节。Fastify Swagger 是一个专为 Fastify 框架设计的插件&#xff0c;它能够自动生成符合 Swagger&#xff08;OpenAPI v2 或 v3&#xff09;规范的文档&#xff0c;从而帮助开发者轻松创建和维护API文档。本…

SQL,力扣题目262,行程和用户

一、力扣链接 LeetCode_262 二、题目描述 表&#xff1a;Trips ----------------------- | Column Name | Type | ----------------------- | id | int | | client_id | int | | driver_id | int | | city_id | int | | status …

【复旦微FM33 MCU 开发指南】ADC

前言 本系列基于复旦微FM33LC0系列单片机的DataSheet编写&#xff0c;旨在提供手册解析和开发指南。 本文章及本系列其他文章将持续更新&#xff0c;本系列其它文章请跳转【复旦微FM33 MCU 外设开发指南】总集篇 本文章最后更新日期&#xff1a;2024/11/09 全文字数&#xff…

机器学习—是否有路通向AGI(通用人工智能)

AI包含两个非常不同的东西&#xff0c;一个是ANI&#xff0c;代表人工狭义智能&#xff0c;这是一个人工智能系统&#xff0c;只做一件事&#xff0c;狭隘的任务&#xff0c;可能非常有价值&#xff0c;比如智能音箱或者网络搜索或AI应用于特定应用。例如&#xff0c;过去几年的…

2.4w字 —TS入门教程

目录 1. 什么是TS 2. TS基本使用 3 TS基础语法 3.1 基础类型约束 3.11 string&#xff0c;number&#xff0c;boolean&#xff0c; null和undefined 3.12 any 3.13 unknown 3.14 void 3.15 数组 3.16 对象 3.2 函数的约束 3.21 普通写法 3.22 函数表达式 3.22 可选…

深度学习注意力机制类型总结pytorch实现代码

一、注意力机制的基本原理 在深度学习中&#xff0c;注意力机制&#xff08;Attention Mechanism&#xff09;已经成为一种重要的技术。意力机制通过动态调整模型的注意力权重&#xff0c;来突出重要信息&#xff0c;忽略不重要的信息&#xff0c;大大提高了模型的效果 注意力…

数据库SQLite的使用

SQLite是一个C语言库&#xff0c;实现了一个小型、快速、独立、高可靠性、功能齐全的SQL数据库引擎。SQLite文件格式稳定、跨平台且向后兼容。SQLite源代码属于公共领域(public-domain)&#xff0c;任何人都可以免费将其用于任何目的。源码地址&#xff1a;https://github.com/…

基于java宠物医院管理系统的设计与实现

一、环境信息 开发语言&#xff1a;JAVA JDK版本&#xff1a;JDK8及以上 数据库&#xff1a;MySql5.6及以上 Maven版本&#xff1a;任意版本 操作系统&#xff1a;Windows、macOS 开发工具&#xff1a;Idea、Eclipse、MyEclipse 开发框架&#xff1a;SpringbootHtmljQueryMysql…

米家护眼灯和孩视宝哪个好?书客、米家、孩视宝巨头测评大PK!

米家护眼灯和孩视宝哪个好&#xff1f;从护眼照明市场发展趋势可以知道&#xff0c;如今热度越来越高&#xff0c;品牌越来越丰富&#xff0c;增加了用户的选择难度。而且有些劣质产品由于生产过程中没有任何技术参数调校&#xff0c;选料和做工方面低劣&#xff0c;照明过程中…

L1G2000作业

1、MindSearch 2、书生浦语 3、书生万象

海思3559 网口 delay值配置

问题 我们研发了一个自动配置 phy delay的脚本&#xff0c;里面采用了shell 数组&#xff0c;以及ethtool等工具。 但是海思SDK默认的文件系统没有这些工具&#xff0c;并且sh 不支持shell 数组&#xff0c;只有bash支持。 因而我们需要编译相关工具&#xff0c;此处记录编译…

如何去除图片水印?快来试试这4种图片去水印方法!

去除图片水印是一项普遍存在的图像处理需求&#xff0c;它旨在消除水印对图片视觉效果的干扰&#xff0c;让我们能够更自由、更美观、更专业地使用图片资源。接下来&#xff0c;我们将介绍四种有效的去除图片水印的方法和工具&#xff0c;它们各自具有独特的优势和适用场景。 方…

2024双十一有什么是宝妈们值得入手的?双十一母婴必买清单

随着双十一购物狂欢节的临近&#xff0c;宝妈们纷纷开始筹备为家庭增添新的宝贝。作为一年一度的大型促销活动&#xff0c;双十一不仅提供了各种优惠&#xff0c;更是宝妈们囤货的好时机。2024双十一有什么是宝妈们值得入手的&#xff1f;在这个特殊的日子里&#xff0c;母婴产…

快速上手Cellranger

Cell Ranger Cell Ranger是用于10x单细胞转录组数据处理一套Linux工具集&#xff0c;包含数据比对&#xff0c;生成表达矩阵&#xff0c;聚类分析和图形可视化等多个功能。一般用cell ranger进行上游分析。 官网&#xff1a;https://www.10xgenomics.com/support/software/cel…

VMware Fusion和centos 8的安装

资源 本文用到的文件&#xff1a;centos8镜像 , VMware 软件包 , Termius 文件链接: https://pan.baidu.com/s/1kOES_ZJ8NGN-BnJl6NC7Sg?pwd63ct 安装虚拟机 先 安装 vmware &#xff0c;然后打开&#xff0c;将下载的 iso 镜像拖入 拖入镜像文件iso Continue, 然后随便选…

PL端:LED闪烁

实验环境 vivado2024.1 实验任务 LED闪烁 引脚关系 硬件配置 新建一个vivado实验 创建 Verilog HDL 文件点亮 LED 点击 Project Manager 下的 Add Sources 图标&#xff08;或者使用快捷键 AltA&#xff09; 编辑led.v module led(input sys_clk,input rst_n,outp…

Pytorch学习--神经网络--损失函数与反向传播

一、对于损失函数的理解 计算实际输出和目标之间的差距为我们更新输出提供一定的依据 二、头文件 nn.L1Loss 大概含义&#xff1a; 代码&#xff1a; import torch from torch.nn import L1Lossoutput torch.tensor([1,2,3],dtypefloat) target torch.tensor([1,2,5],dt…

多功能声学气膜馆:打造移动歌剧院新体验—轻空间

在广场、公园&#xff0c;甚至是郊野之间&#xff0c;多功能声学气膜馆为歌剧表演带来了全新的移动体验。作为高品质演出场馆&#xff0c;它不仅具备卓越的声学效果&#xff0c;还拥有灵活的搭建与拆卸能力&#xff0c;使艺术表演不再受限于固定的场地&#xff0c;让更多人得以…