本文主要介绍为LiveChart图表添加自定义图例,并实现曲线隐藏功能。其中,图例中的直线样式与图表中的曲线样式进行了绑定。
第一步。添安装LiveChart.wpf 包、引入命名空间等前期准备
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
第二步。添加测试曲线
为曲线绑定数据源及加载请参考
LiveChart应用笔记-折线图添加任意数据
<lvc:CartesianChart Margin="20">
<!--LegendLocation="Top"-->
<lvc:CartesianChart.Series>
<lvc:LineSeries x:Name="TestSeries"
Title="测试曲线"
Style="{StaticResource AssistLineChartSeriesStyle}"
Stroke="{StaticResource Lime500SolidColorBrushStyle}"
Fill="#55cddc39"
StrokeDashArray="15 1 1 1"
Values="{Binding DailyStatisticsCollection}"
Configuration="{Binding TestSeriesCartesianMappers}" />
</lvc:CartesianChart.Series>
<!--定义Y轴-->
<lvc:CartesianChart.AxisY>
<lvc:Axis Title="数量"
FontSize="16"
MinValue="0"
ShowLabels="True">
<lvc:Axis.Separator>
<lvc:Separator StrokeThickness="1"
Stroke="{StaticResource AssistFourthSolidColorBrushStyle}" />
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
<!--定义X轴-->
<lvc:CartesianChart.AxisX>
<lvc:Axis Title="日期"
FontSize="16"
Labels="{Binding XLabel}"
ShowLabels="True">
<lvc:Axis.Separator>
<lvc:Separator StrokeThickness="1"
Stroke="{StaticResource AssistFourthSolidColorBrushStyle}" />
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
</lvc:CartesianChart>
第三步。添加图例
<StackPanel Orientation="Horizontal"
Cursor="Hand">
<Line Style="{StaticResource WpLineStyle}"
StrokeThickness="{Binding Source={x:Reference Name=TestSeries},Path=StrokeThickness}"
StrokeDashArray="{Binding Source={x:Reference Name=TestSeries},Path=StrokeDashArray}"
Stroke="{Binding Source={x:Reference Name=TestSeries},Path=Stroke}"
Fill="{Binding Source={x:Reference Name=TestSeries},Path=Stroke}"
Opacity="{Binding Source={x:Reference Name=TestSeries},Path=Visibility,Converter={StaticResource legendColorOpacityConverter}}" />
<TextBlock Text="测试"
FontSize="16"
Foreground="{Binding Source={x:Reference Name=TestSeries},Path=Stroke}"
Opacity="{Binding Source={x:Reference Name=TestSeries},Path=Visibility,Converter={StaticResource legendColorOpacityConverter}}" />
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<i:InvokeCommandAction Command="{Binding LegendClickCmd}"
CommandParameter="{Binding Source={x:Reference Name=TestSeries}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</StackPanel>
第四步。vm中添加图表图例点击命令以及转换器(注意:本项目中安装了mvvmlight框架)
/// <summary>
/// 图表图例点击命令
/// </summary>
public ICommand LegendClickCmd
return new RelayCommand<LineSeries>(l =>
switch (l.Visibility)
case Visibility.Visible:
l.Visibility = Visibility.Hidden;
break;
case Visibility.Hidden:
l.Visibility = Visibility.Visible;
break;
case Visibility.Collapsed:
break;
default:
l.Visibility = Visibility.Visible;
break;
public class LegendColorOpacityConverter : IValueConverter
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
if (value is null)
return 1d;
return (Visibility)value == Visibility.Visible ? 1d : .4d;
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
throw new NotImplementedException();
第五步。效果
本文主要介绍为LiveChart图表添加自定义图例,并实现曲线隐藏功能。其中,图例中的直线样式与图表中的曲线样式进行了绑定。第一步。添安装LiveChart.wpf 包、引入命名空间等前期准备 xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"第二步。添加测试曲线
<Window x:Class="WpfApplication7.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=L.
本文主要介绍LiveChart.WPF 中的图表的使用方法 类: 数据绑定, 数据显示样式等。
1、导入LiveChart.Wpf
NuGet搜索LiveChart包, 安装LiveChart.Wpf即可。
2、引用LiveChart.Wpf
在使用的界面当中引用LiveChart.Wpf的类库
xmlns:lvc=“clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf”
以直方图、折线图为例, 都属于 CartesianChart 下的一种 Serie
LiveCharts是为用户设计的,所有内容都是自动更新和动画化的,库只有在它认为有必要时才会更新,而不是每次数据更改时,
添加/删除序列,或者
添加/删除
图表本身将更新的值时,除了您的业务之外,您真的不需要担心任何事情,让
LiveCharts来处理
图表。
有许多类型已经准备好绘图,您可以在“类型和配置”部分了解更多信息,在这个简短的示例中,我们正在绘制double values.
## 1、说明
>
LiveCharts的设计使用户易于使用,所有内容均会自动更新并设置动画,该库仅在认为有必要时更新,而不是每次数据更改,
添加/删除序列或
添加/删除
图表时更新会自行更新,您真的不需要担心任何事情,除了您的业务,让
LiveCharts处理
图表。
chartjs-plugin-streaming
实时流数据的插件
1.2版或更早版本需要Chart.js2.6.x。 1.3版或更高版本需要Chart.js2.7.x。 1.8版需要Chart.js 2.7.x或2.8.x。
您可以从下载最新版本的chartjs-plugin-streaming。
通过npm安装:
npm install chartjs-plugin-streaming --save
要通过凉亭安装:
bower install chartjs-plugin-streaming --save
要使用CDN:
< script src =" https:/
在开发中难免会用到图表统计,这里引用的是LiveCharts.Wpf。简单易上手,先去工具中的NuGet程序管理包里下载这个,然后在使用的界面当中引用LiveChart.Wpf的类库xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf
Series:绑定数据,折线图集合
Labels:是否显示 X 或 Y 轴的系数,Labels 就是坐标系数
MinValue:设置图表显示的数据范围,可以不设置,可以靠 Step 和坐标系数...
我们打开DynamicDataDisplay的源码.内部自带有samples其中v2中带有一个名叫TooltipSample的例子.
如图...坐标尺默认计算的是横坐标的值.若我们的横坐标是以日期计算呢?则我们看源码
我们找到一个名为CursorCoordinateGraph的xaml文件.它