首页 > 其他分享 >LiveChart for wpf

LiveChart for wpf

时间:2023-03-16 11:44:21浏览次数:37  
标签:Series LiveChart 如下 柱状图 状图 wpf LineSeries 线条

1.引用LiveChart.Wpf 的类库

xmlns:lvc:="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
  • 以直方图、折线图为例,都属于CartesianChart下的一种Series类型,例如折线图,如下:
<lvc:CartesianChart>
  <lvc:CartesianChart.Series> <!--设置Series的类型为Line类型,该类型提供了一些折线的实现 -->
  <lvc:LineSeries> </lvc:LineSeries>
  <lvc:CartesianChart.Series>
<lvc:CartesianChart>
  • LineSeries 绑定数据设定Values即可,可以看到带s,则代表这是一种复数集合类型,继承与IChartValues,所以最终绑定的数据符合ChartValues即可,下图绑定了为数字类型的集合:
<lvc:CartesianChart>
   <lvc:CartesianChart.Series>
         <lvc:LineSeries Values="6,2,7,4" />
   </lvc:CartesianChart.Series>
<lvc:CartesianChart>
  • 界面呈现如下图所示:

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

<lvc:CartesianChart>
   <lvc:CartesianChart.Series>
         <lvc:LineSeries Values="6,2,7,4" />
   </lvc:CartesianChart.Series>
   <!--定义Y轴-->
   <lvc:CartsianChart.AxisY>
      <lvc:Axis Title="类型"></lvc:Axis>
   <lvc:CartsianChart.AxisY>

   <!--定义X轴-->
   <lvc:CartsianChart.AxisY>
      <lvc:Axis Title="示例1"></lvc:Axis>
   <lvc:CartsianChart.AxisY>

<lvc:CartesianChart>

界面呈现效果如下:

  • 图标显示设置
    1.图例显示位置:LegendLocation="Top" // 显示在上方
    2.图表的背景颜色:Background="#ffeed5"
    如下图:

    3.添加视觉效果:VisualElements,

<lvc:CartesianChart.VisualElements>
 <lvc:VisualElment X="0.5" Y="8">
    <lvc.VisualElement.Element>
       <TextBlock Foreground="Red">Hello!</TextBlock>
    </lvc.VisualElement.Element>
 </lvc:VisualElment>
<lvc:CartesianChart.VisualElements>
  • 效果如下:

  • LineSeries 样式设置

  1. 线条显示数值 DataLabels="True"
  2. 线条是否弯曲 LineSmoothness="0" 或 “1”
  3. 线条的颜色 Stroke="Red"
  4. 线条下方的颜色 Fill="Orange"
  5. 线条的每个点 PointGeometrySize="20"
  6. 显示数据字体颜色 Foreground="white"
  7. 数据点的颜色 PointForeground
  8. 数值间隔 StrokeDashArray="5"
    代码:
 <lvc:CartesianChart LegendLocation="Top" Background="DarkSlateGray" Foreground="White">
            <lvc:CartesianChart.Series>
                <lvc:LineSeries Values="6,2,7,4" Fill="Orange" ></lvc:LineSeries>
                <lvc:LineSeries Values="3,1,5,2" Fill="LightBlue" Stroke="Blue" StrokeDashArray="5,0.2" PointGeometrySize="20" PointForeground="OrangeRed" LineSmoothness="1" DataLabels="True" />
            </lvc:CartesianChart.Series>
            <lvc:CartesianChart.AxisY>
                <lvc:Axis Title="示例1" />
            </lvc:CartesianChart.AxisY>
            <lvc:CartesianChart.AxisX>
                <lvc:Axis Title="类型" />
            </lvc:CartesianChart.AxisX>
            <lvc:CartesianChart.VisualElements>
                <lvc:VisualElement X="0.5" Y="8">
                    <lvc:VisualElement.UIElement>
                        <TextBlock Foreground="Red">Hello</TextBlock>
                    </lvc:VisualElement.UIElement>
                </lvc:VisualElement>
            </lvc:CartesianChart.VisualElements>
        </lvc:CartesianChart>
  • 效果如下:

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

  <lvc:LineSeries.PointGeometry>
      <GeometryGroup>
         <RectangleGeometry Rect="50,50,25,25" RadiusX="5" RadiusY="5" />
      </GeometryGroup>
   </lvc:LineSeries.PointGeometry>

效果如下:

  • X、Y 坐标样式设置
  1. 是否显示坐标点: ShowLabels="False"
  2. 坐标点旋转角度: LabelsRotation="45"
  3. 坐标轴标签: Labels="A,B,C,D"
  4. 自定义显示格式: LabelFormater

定义饼状图

  • 由于饼状图没有X、Y轴的概念,所以需要使用饼状图,则使用PieChart
    1.设定显示数据的格式:LabelPoint="{Binding PointLabel}"
   <lvc:PieChart InnerRadius="50"  LegendLocation="Right" Foreground="White">
                <lvc:PieChart.Series>
                    <lvc:PieSeries Title="Item1" Values="3" ToolTip="Item1" DataLabels="True" LabelPoint="{Binding LabelPoint}" />
                    <lvc:PieSeries Title="Item2" Values="6" DataLabels="True" LabelPoint="{Binding LabelPoint}" />
                    <lvc:PieSeries Title="Item3" Values="2" DataLabels="True" LabelPoint="{Binding LabelPoint}" />
                </lvc:PieChart.Series>
            </lvc:PieChart>
  • 总结:前面的线形图和直方图用的是控件CartesianChart,而这里的饼状图则使用的是PieChart, 他们都包括一些公用属性:

  • LegendLocation 提示信息显示位置

  • Foreground 前景颜色
    PieChart 没有X、Y轴,增加了InnerRadius 圆环内径

  • 效果如图:

总结

LiveCharts 共有5类图表

  • CartesianChart 笛卡尔积图表
    顾名思义就是绘制符合笛卡尔坐标系的图标类型,也就是最常见的图表,每个Point都是一对(x,y);如果只传递了一组y值,那么x值就是这组y值的index
    *笛卡尔图表支持多种Series
  • 1.LineSeries 线状图
  • 2.Veritcal LineSeries 横线图
  • 3.Column Series 竖柱状图
    1. Row Series 横柱状图
    1. Stacked Area Series 竖热区图
    1. Vertical Stacked Area Series 横热区图
    1. Stacked column Series 复合竖柱状图
    1. Stacked Row Series 复合横柱状图
    1. Heat Series 散点图
    1. OHCL Series 竖线图
    1. Bubbles Series 气泡图
    1. StepLine Series 方波图

标签:Series,LiveChart,如下,柱状图,状图,wpf,LineSeries,线条
From: https://www.cnblogs.com/sundh1981/p/17221085.html

相关文章

  • WPF Progress 样式
    一、前言滚动条一般用于加载进度,我们在看视频的时候或者在浏览网页的时候经常能看到加载进度的页面。在程序开发中,默认的进度加载样式可能跟程序风格不太一样,或者加载进度......
  • WPF MenuItem 样式
    一、前言默认的MenuItem样式比较普通,这次自定义MenuItem的样式也只是对MenuItem的颜色风格进行变化。需要其他功能的变化,大家可以根据样式代码进行扩展。MenuItem的样式......
  • WPF 实现界面动态布局
    参考:WPF实现界面动态布局-码农教程(manongjc.com)【翻译】使用WPF进行拖拽和放置【DragandDropinWPF】-LiuHong'sBlog(lofter.com)......
  • WPF TreeView 样式
    一、前言TreeView控件在项目中使用比较频繁,普通的TreeView并不能满足我们的需求。因此我们需要滴对TreeView进行改造。下面的内容将介绍仿QQ联系人TreeView样式及TreeView......
  • New!界面控件DevExpress WPF 2023产品路线图曝光
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专......
  • WPF Binding属性
    Binding可以让前台和后台的属性绑定在一起。实现实时更新。比如前台xaml<StackPanel><TextBoxx:Name="txtBox"BorderBrush="Black"Margin="5"/>......
  • WPF 自定义ComboBox样式,自定义多选控件
    一、ComboBox基本样式ComboBox有两种状态,可编辑和不可编辑状态。通过设置IsEditable属性可以切换控件状态。先看基本样式效果:基本样式代码如下:<!--ComboBox-->......
  • WPF ItemsControl/ListBox/ListView 控件样式
    一、前言ItemsControl、ListBox、ListView这三种控件在WPF中都可作为列表信息展示控件。我们可以通过修改这三个控件的样式来展示我们的列表信息。既然都是展示列表信息......
  • WPF 自定义风扇
    成品效果如下: 制作方法:1.添加UserControl,其详细代码如下:<UserControlx:Class="WpfControl.UserControls.NFan"xmlns="http://schemas.microsoft.com......
  • WPF 日历控件 样式
    一、WPF日历控件基本样式通过Blend获取到Calendar需要设置的三个样式CalendarStyle、CalendarButtonStyle、CalendarDayButtonStyle、CalendarItemStyle。然后通过设置样......