本文主要介绍为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文件.它