简单、灵活、交互式强大的 .Net图表库

《开源精选》是我们分享 Github、Gitee 等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个适用于 .Net 的简单、灵活、交互式和强大的图表库——LiveCharts2。

简单、灵活、交互式强大的 .Net图表库

LiveCharts2 (v2) 是 LiveCharts (v0) 的演变,它修复了其前身的主要设计问题,更加专注于在任何地方运行,提高灵活性而不失去在 v0 中已有的功能。LiveCharts2 支持在 WPF、WinForms、Xamarin、Avalonia、WinUI、UWP、Blazor-wasm、MAUI 上运行。

简单、灵活、交互式强大的 .Net图表库

安装使用

在 Visual Studio 中, Solution Explorer 然后右键单击 Dependencies then Manage NuGet Packages ,启用“包含预发布”复选框,然后在浏览选项卡中搜索目标平台的视图:

  • • LiveChartsCore.SkiaSharpView.WPF

  • • LiveChartsCore.SkiaSharpView.WinForms

  • • LiveChartsCore.SkiaSharpView.Avalonia

  • • LiveChartsCore.SkiaSharpView.XamarinForms

  • • LiveChartsCore.SkiaSharpView.UWP

  • • LiveChartsCore.SkiaSharpView.WinUI

  • • LiveChartsCore.SkiaSharpView.Blazor

  • • LiveChartsCore.SkiaSharpView.Maui

还可以在控制台应用程序或仅安装核心包并使用 ISkiaSharpChart 对象的服务器端使用 LiveCharts2,参考代码:

using System.Windows.Controls;
using LiveChartsCore.SkiaSharpView.SKCharts;
using LiveChartsCore.SkiaSharpView.WPF;

namespace WPFSample.General.ChartToImage;

/// <summary>
/// Interaction logic for View.xaml
/// </summary>
public partial class View : UserControl
{
    public View()
    {
        InitializeComponent();

        // 加载视图
        // 渲染图像
        Loaded += View_Loaded;
    }

    private void View_Loaded(object sender, System.Windows.RoutedEventArgs e)
    {
        CreateImageFromCartesianControl();
        CreateImageFromPieControl();
        CreateImageFromGeoControl();
    }

    private void CreateImageFromCartesianControl()
    {
        //你可以在 UI 中获取任何图表,并从中构建图像
        var chartControl = (CartesianChart)FindName("cartesianChart");
        var skChart = new SKCartesianChart(chartControl) { Width = 900, Height = 600, };
        skChart.SaveImage("CartesianImageFromControl.png");
    }

    private void CreateImageFromPieControl()
    {
        var chartControl = (PieChart)FindName("pieChart");
        var skChart = new SKPieChart(chartControl) { Width = 900, Height = 600, };
        skChart.SaveImage("PieImageFromControl.png");
    }

    private void CreateImageFromGeoControl()
    {
        var chartControl = (GeoMap)FindName("geoChart");
        var skChart = new SKGeoMap(chartControl) { Width = 900, Height = 600, };
        skChart.SaveImage("MapImageFromControl.png");
    }
}

其他图表

基本折线图

简单、灵活、交互式强大的 .Net图表库

柱状图

简单、灵活、交互式强大的 .Net图表库

堆积图

简单、灵活、交互式强大的 .Net图表库

面积图

简单、灵活、交互式强大的 .Net图表库

阶梯图

简单、灵活、交互式强大的 .Net图表库

散点图

简单、灵活、交互式强大的 .Net图表库

高开低收

简单、灵活、交互式强大的 .Net图表库

饼图

简单、灵活、交互式强大的 .Net图表库

热力图

简单、灵活、交互式强大的 .Net图表库

v2.0目前是测试版本,使用 MIT 开源协议,你可以从 NuGet 安装使用: https ://github.com/beto-rodriguez/LiveCharts2/issues/35 


-END-

开源地址:https://github.com/beto-rodriguez/LiveCharts2

原文始发于微信公众号(开源技术专栏):简单、灵活、交互式强大的 .Net图表库

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66024.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!