WPF图表LiveChart使用详解

本文主要介绍LiveChart.WPF 中的图表的使用方法 类: 数据绑定, 数据显示样式等。

导入LiveChart.Wpf

NuGet搜索LiveChart包, 安装LiveChart.Wpf即可。

引用LiveChart.Wpf

在使用的界面当中引用LiveChart.Wpf的类库

xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"

以直方图、折线图为例, 都属于 CartesianChart 下的一种 Series 类型, 例如折线图,如下:

            <lvc:CartesianChart>
            <lvc:CartesianChart.Series>
                  <!--设置Series的类型为 Line 类型, 该类型提供了一些折线图的实现-->
                <lvc:LineSeries/>
            </lvc:CartesianChart.Series>
            </lvc:CartesianChart>

LinSeries 绑定数据设定Values即可, 可以看到带s, 则代表这是一种复数集合类型,继承于 IChartValues, 所以最终绑定的数据符合 ChartValues 即可, 下图绑定了为数字类型的集合:

           <lvc:CartesianChart>
            <lvc:CartesianChart.Series>
                <!--设置Series的类型为 Line 类型, 该类型提供了一些折线图的实现-->
                <lvc:LineSeries Values="1,2,3,4,5,6"/>
                <lvc:LineSeries Values="2,4,6,8,10,12"/>
            </lvc:CartesianChart.Series>
           </lvc:CartesianChart>

界面呈现如下所示:

接下来, 以LineSeries为例子, 来进行扩展, 添加 X 、Y坐标的定义显示。

为LiveChart的 X、Y轴添加标题

            <!--定义Y轴-->
            <lvc:CartesianChart.AxisY>
                <!-- 定义Y轴名称 -->
                <lvc:Axis Title="Value"></lvc:Axis>
            </lvc:CartesianChart.AxisY>

            <!--定义X轴-->
            <lvc:CartesianChart.AxisX>
                 <!-- 定义X轴名称 -->
                <lvc:Axis Title="Type"></lvc:Axis>
            </lvc:CartesianChart.AxisX>

效果如下:

图表显示设置

1.图例的显示位置: LegendLocation="Top" //显示在上方
2.图表的背景颜色: Background="#FFEFD5"

如下所示:

3.添加视觉元素: VisualElements

如下所示添加一个文本在图表当中:

            <lvc:CartesianChart.VisualElements>
                <lvc:VisualElement X="0.5" Y="8">
                    <lvc:VisualElement.UIElement>
                        <TextBlock Foreground="Green">
                            Hello!, this is a note merged in the chart.
                        </TextBlock>
                    </lvc:VisualElement.UIElement>
                </lvc:VisualElement>
            </lvc:CartesianChart.VisualElements>

显示效果:

LineSeries 样式设置

1.线条显示数值: DataLabels="True"
2.线条是否弯曲: LineSmoothness="0" 或 "1" 
3.线条的颜色: Stroke="Red"  //设置线条的颜色为红色
4.线条下方颜色: Fill="Pink" //线条的下方颜色
5.线条的每个点: PointGeometrySize="20" //设置数据点大小
6.显示数据字体颜色: Foreground="Red" 
7.数据点的颜色: PointForeground="#FF6347"
8.线条虚线: StrokeDashArray="5" //数值愈大间隔愈大, 如下绿色虚线

9.线条点的形状: PointGeometry //如下所示, 为数据点设置为一个矩形

        <lvc:LineSeries DataLabels="False" Stroke="#32CD32" StrokeThickness="1"   StrokeDashArray="5"
                                LineSmoothness="1" Foreground="Red"
                                Fill="#FFA07A" PointGeometrySize="10"
                                Values="1,2,5,1,5,4">
                    <lvc:LineSeries.PointGeometry>
                        <GeometryGroup>
                            <RectangleGeometry Rect="50,50,25,25" />
                        </GeometryGroup>
                    </lvc:LineSeries.PointGeometry>
                </lvc:LineSeries>

效果如下所示:

X、Y坐标 样式设置

1.是否显示坐标点: ShowLabels="False"
2.坐标点的旋转角度: LabelsRotation="45"
3.坐标轴标签: Labels="A,B,C,D,E,F"  //示例
4.自定义显示格式: LabelFormatter

图表是否显示背景X、Y线:

以下代码设置,X、Y轴的宽度为1的颜色红色的实线:

            <!--定义Y轴-->
            <lvc:CartesianChart.AxisY>
                <lvc:Axis Title="Value"  ShowLabels="True">
                    <lvc:Axis.Separator>
                        <lvc:Separator StrokeThickness="1" Stroke="Red"  />
                    </lvc:Axis.Separator>
                </lvc:Axis>
            </lvc:CartesianChart.AxisY>

            <!--定义X轴-->
            <lvc:CartesianChart.AxisX>
                <lvc:Axis Title="Type"  LabelsRotation="45" Labels="A,B,C,D,E,F" ShowLabels="True" >
                    <lvc:Axis.Separator>
                        <lvc:Separator StrokeThickness="1" Stroke="Red"  />
                    </lvc:Axis.Separator>
                </lvc:Axis>
            </lvc:CartesianChart.AxisX>

效果如下所示:

定义饼状图

由于饼状图并没有X、Y轴的概念, 所以需要使用饼状图, 则使用 PieChart。

1.设定显示数据的格式: LabelPoint //该绑定的是一个Func的委托

Xaml绑定:

后台代码及显示效果:

到此这篇关于WPF图表LiveChart使用的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • WPF基本控件介绍

    上一章讲到了布局.这点就有点类似建筑设计.第一步是出图纸.整体的结构.而第二步就是堆砌, 建筑学里面也会有很多描述, 例如砖头,水泥.玻璃.瓷板.而在WPF中, 这一切的基础也就是控件.用于填充结构的UI控件. WPF的控件结构 各种控件类型详解 ContentControl 类 设置内容的属性为 Content, 例如 控件目录下只允许设置一次Content, 如下演示给按钮添加一个Image和一个文本显示Label, 错误如下: 正确的使用方式: <!利用我们上一章说讲到的布局容器装载在其中

  • WPF控件模板与其触发器

    什么是ControlTemplate? ControlTemplate(控件模板)不仅是用于来定义控件的外观.样式, 还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为.响应动画等. 通过剖析控件了解ControlTemplate的组成: 首先,创建一个WPF项目, 创建一个Button按钮, 然后选中该按钮, 右键选择编辑模板>编辑副本: 创建完成后, 会在当前页面<Windows.Resources> 键下面生成一些样式片段 , 一个key为B

  • WPF自定义Expander控件样式实现酷炫Style

    首先, 看一下效果图. 点我看视频教程 实现思路 1.PS处理两张选中得特效背景, 一张为主选择得效果图, 另外一张为次选择项得效果图. ![](//files.jb51.net/file_images/article/202201/2022128103603692.jpg) ![](//files.jb51.net/file_images/article/202201/2022128103615294.jpg) 图片资源定义 <!--静态资源--> <ImageBrush x:Key=

  • WPF绑定Binding用法

    什么是绑定(Binding)? 在winform中, 我们常常会用到各种类型的赋值, 例如: button1.Text="Hello"; label.Text="Hello"; ... 类似这种赋值操作, 我们之所以不称之为绑定, 主要原因是因为他们大多数操作都是一次性的, 无论是数据还是按钮本身发生变化,对两者而言都是不可见的. 而绑定的概念则侧重于: 两者的关联,协议与两者之间的影响. 首先, 从一个简单的例子来理解什么是绑定. 创建一个滑块控件, 并且希望在滑

  • WPF中的数据模板用法介绍

    数据模板常用在3种类型的控件, 下图形式: 1.Grid这种列表表格中修改Cell的数据格式, CellTemplate可以修改单元格的展示数据的方式. 2.针对列表类型的控件, 例如树形控件,下拉列表,列表控件, 可以修改其中的ItemTemplate. 3.修改ContentTemplate, 例UserControl控件的数据展现形式. CellTemplate 模板 下面用一个例子, 来演示CellTemplate使用.例子实现一个DataGrid 展示一个普通的数据标, 同时新增一列C

  • WPF布局及布局容器介绍

    WPF布局基础 WPF布局原则 一个窗口中只能包含一个元素 不应显示设置元素尺寸 不应使用坐标设置元素的位置 可以嵌套布局容器 WPF布局容器 StackPanel: 水平或垂直排列元素.Orientation属性分别: Horizontal / Vertical WrapPanel : 水平或垂直排列元素.针对剩余空间不足会进行换行或换列进行排列 DockPanel : 根据容器的边界.元素进行Dock.Top.Left.Right.Bottom设置 Grid : 类似table表格.可灵活设

  • WPF使用ValidationRules对MVVM架构数据验证

    对于WPF中的验证, View验证实现起来很简单, 可以通道 Validation.ErrorEvent 冒泡传递到View的逻辑树上, 只是, 通常这样做的情况下, 我们需要为View添加事件代码监听这类错误事件, 然后进行处理. 这样做可以说是非常简单, 但是这样的硬编码的, 基本上每个模块每个功能, 你都必不可少的为其进行重复的工作, 这是一项非常枯燥且无聊的体力活! 于是, 则考虑MVVM的架构中, 如何把这种模式传递到ViewModel中, 使得前端的验证, 对于ViewModel仍然

  • WPF转换器IValueConverter用法

    1. 前文 在普遍的也业务系统中, 数据要驱动到操作的用户界面, 它实际储存的方式和表达方式会多种多样, 数据库存储的数字 0或1, 在界面用户看到显示只是 成功或失败, 或者存储的字符.或更多的格式, 但是最终到界面上, 一般是需要一个转换, 至于这个转换是在数据库中, 还是业务代码中, 都是一个必不可少的操作. 2. WPF转换器 ( IValueConverter ) WPF中, 提供一种数据转换的接口.那就是在 System.Windows.Data 命名空间下的,IValueConve

  • WPF引用MVVM框架与使用方法

    1.NuGet引用MVVM框架包 引入该框架包之后, 默认会在目录下创建ViewModel层的示例代码 2.第二步, 通过在MainViewModel中创建一些业务代码, 将其与MainWindow.xaml 通过上下文的方式关联起来, 而MainWindow则是通过Binding的写法 引用业务逻辑的部分. 在MainViewModel中, 添加同一个班级名称, 与学生列表, 分别用于显示在文本 和列表上展示, Command则用于绑定DataGrid的双击命令上, 通过双击, 展示点击行的学

  • WPF中Style样式及其触发器

    WPF中的各类控件元素, 都可以自由的设置其样式. 诸如: 字体(FontFamily) 字体大小(FontSize) 背景颜色(Background) 字体颜色(Foreground) 边距(Margin) 水平位置(HorizontalAlignment) 垂直位置(VerticalAlignment) 等等. 而样式则是组织和重用以上的重要工具.不是使用重复的标记填充XAML, 通过Styles创建一系列封装所有这些细节的样式.然后通过Style属性应用封装好的样式.这点类似于CSS样式.

随机推荐