WPF编程,Live Charts使用说明(41)——使用增强类

安装Geared Values软件包非常简单,您无需学习任何新知识即可使用,它有10天的免费试用期,试用需要连接互联网。

方法一:

从程序包管理器控制台:

PM> Install-Package LiveCharts.Geared

就是这样,现在您的应用程序包含两个新功能:

1、一组额外的系列

与CartesianChart类一起使用的一组12个原生系列,它包含该库支持的所有系列的强化版。
它可以在不到一秒钟的时间内呈现1000万个点,这是比较Geared和non Geared代码的小片段:

using LiveCharts;
using LiveCharts.Geared;
 
MyChart.Series = new SeriesCollection
{
    new GLineSeries
    {
        Values = new GearedValues<double> {7,4,9, ... }
    }
};

2、更加智能

无需使用经典的ChartValues,您可以使用GearedValues类,它足够聪明,可以根据许多变量(例如图表大小,系列类型以及最终设置的质量)优化数据,该类可让您减少图的准确性以获取性能。

例如,在下一种情况下,假设您正在使用线系列,并且只关心线的趋势,则可以使用低质量来更快地渲染它。而误差在10像素内;但在相反的情况下,您关心精度,则必须使用最高质量,渲染时间会变慢,但是您不会有任何视觉错误,还有2种可用质量,中等质量,最大误差为5px,高 是默认质量,最大误差为2px。

不使用增加类:Without Geared Package

后台:

using LiveCharts;
 
 
namespace samples
{
  public partial class Window 
  {
    public Window()
    {
      InitializeComponents();
      
 
      Values = new ChartValue<double>{1,2,3, ..., 100000};
 
 
      DataContext = this;
    }
 
    public ChartValues<double> Values { get; set; }
  }
}

前台:

<Window x:Class="Wpf.Window"
        xmlns="..."
        xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf">
 
    <Grid>
        <lvc:CartesianChart>
            <lvc:CartesianChart.Series>
 
                <lvc:LineSeries Values="{Binding Values}" />
            </lvc:CartesianChart.Series>
        </lvc:CartesianChart>
    </Grid>
</Window>

使用增加类:With Geared Package

后台:

using LiveCharts;
using Livecharts.Geared; //added name space
 
namespace samples
{
  public partial class Window 
  {
    public Window()
    {
      InitializeComponents();
      
      //using geared values instead
      Values = new GearedValues<double>{1,2,3, ..., 100000};
      //set the quality according to your needs
      Values.WithQuality(Quality.Highest);
      DataContext = this;
    }
    //Replaced ChartValues with GearedValues
    public GearedValues<double> Values { get; set; }
  }
}

前台:

<Window x:Class="Wpf.Window"
        xmlns="..."
        xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
        xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared">
    <Grid>
        <lvc:CartesianChart>
            <lvc:CartesianChart.Series>
                <!--Notice we are using GLineSeries, instead of LineSeries-->
                <geared:GLineSeries Values="{Binding Values}" />
            </lvc:CartesianChart.Series>
        </lvc:CartesianChart>
    </Grid>
</Window>

猜你喜欢

转载自blog.csdn.net/qq_43307934/article/details/105646386