前言
简单、灵活、交互性强且功能强大的图表、地图和仪表库,LiveCharts2 现在几乎可以在所有平台上运行,包括 MAUI、Uno Platform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia、WinUI 和 UWP。
项目介绍
LiveCharts2 是一个基于 MIT 许可证的开源 .NET 库,它提供了免费、美观、简洁、灵活且交互性强的图表、地图和仪表功能。
LiveCharts2 特点
-
跨平台支持:适用于多种 .NET 平台,如 MAUI、Uno Platform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia、WinUI 和 UWP。
-
开源与免费:遵循 MIT 许可证,可以自由地用于商业项目。
-
美观性:提供吸引人的视觉效果,使数据呈现更加美观。
-
易用性:设计简洁直观,易于集成到现有的 .NET 应用程序中。
-
灵活性:允许高度定制化,满足不同的需求。
-
交互性:支持用户交互,如触摸和悬停效果,提升用户体验。
-
功能丰富:支持多种图表类型,如柱状图、折线图、饼图等,并且能够绘制地图和仪表盘。
这些特点让 LiveCharts2 成为一个强大的工具,适用于需要高质量数据可视化的 .NET 开发项目。
WPF示例
1、安装 LiveChartsCore 包
LiveCharts2 支持多种 .NET 平台,这里我们选择 WPF。
虽然通过 NuGet 搜索可能会找到旧版本的 LiveCharts,但 LiveCharts2 相对于 V0 进行了许多改进和修复。
尽管 LiveCharts2 目前仍处于测试版,我们仍可通过官方指导进行安装。
<PackageReference Include="LiveChartsCore.SkiaSharpView.WPF" Version="2.0.0-rc3.3" />
我们将一并安装 CommunityToolkit.Mvvm,该库可通过 NuGet 获得。CommunityToolkit.Mvvm 是为了替代不再维护的 GalaSoft.MVVM-light 而推出的,提供了平滑的迁移途径。
2、新建WPF项目
创建空白的WPF项目,然后新建一个MainViewModel,添加引用,具体如代码下:
using CommunityToolkit.Mvvm.ComponentModel;
using LiveChartsCore;
using LiveChartsCore.SkiaSharpView;
using LiveChartsCore.SkiaSharpView.Painting;
using LiveChartsCore.SkiaSharpView.VisualElements;
using LiveChartsCore.VisualElements;
using SkiaSharp;
namespace DotNetCore.WpfDemo
{
[ObservableObject]
public partial class MainViewModel
{
/// <summary>
///
/// </summary>
public ISeries[] Series { get; set; }
=new ISeries[]
{
new ColumnSeries<double>
{
Values = new double[] { 2, 1, 3, 5, 3, 4, 6 },
},
new LineSeries<double>
{
Values = new double[] { 2, 1, 3, 5, 3, 4, 6 },
Fill = null
},
};
/// <summary>
///
/// </summary>
public LabelVisual Title { get; set; }
= new LabelVisual
{
Text = "标题",
TextSize = 20,
Paint = new SolidColorPaint
{
Color = SKColors.Black,
SKTypeface = SKFontManager.Default.MatchCharacter('汉')
},
};
}
}
然后到MainWindow.xaml里,引用LiveCharts,设置DataContext,然后增加CartesianChart,具体代码如下所示:
<Window x:Class="DotNetCore.WpfDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:lvc="clr-namespace:LiveChartsCore.SkiaSharpView.WPF;assembly=LiveChartsCore.SkiaSharpView.WPF"
xmlns:local="clr-namespace:DotNetCore.WpfDemo"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<local:MainViewModel />
</Window.DataContext>
<Grid>
<lvc:CartesianChart Series="{Binding Series}" />
</Grid>
</Window>
3、运行效果
启动运行,效果图如下:
设置的线形图,还可以设置柱状图
添加标题
项目效果
官方文档内容丰富,并附有详细的示例。
根据我们的需求,选择不同的平台以及需要的图表,按照文档示例操作,我们就可以看到不同效果。
上述仅展示了部分示例图,查阅官方文档可获得更多示例及详细信息。
项目地址
GitHub: github.com/beto-rodrig…
文档: livecharts.dev/docs/wpf/2.…
总结
LiveCharts2 是一个强大的 .NET 图表库,提供多种图表类型和灵活的配置选项,便于创建美观且交互性强的图表。
可以进行数据展示也可以进行可视化项目,LiveCharts2 大家赶快去试试吧。
希望本文能为朋友们在图表方面的开发带来帮助。欢迎大家在评论区留言讨论,分享您的经验和建议。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
优秀是一种习惯,欢迎大家留言学习!