天天看點

探索 LiveCharts2:一款強大的跨平台圖表庫

作者:opendotnet
探索 LiveCharts2:一款強大的跨平台圖表庫
探索 LiveCharts2:一款強大的跨平台圖表庫
探索 LiveCharts2:一款強大的跨平台圖表庫

你好,這裡是 Dotnet 工具箱,定期分享 Dotnet 有趣,實用的工具群組件,希望對您有用!

LiveCharts2

LiveCharts2 是一個簡單、靈活、互動式以及功能強大的跨平台圖表庫。

探索 LiveCharts2:一款強大的跨平台圖表庫

LiveCharts2 現在幾乎可以在任何地方運作,包括 Maui、Uno Platform、Blazor-wasm、WPF、WinForms、Xamarin、Avalonia、WinUI、UWP。

探索 LiveCharts2:一款強大的跨平台圖表庫

LiveCharts2 (v2) 是LiveCharts (v0)的演變,它修複了其前身的主要設計問題,它專注于在任何地方運作,在不丢失在 v0 中已有的東西的情況下提高了靈活性。

探索 LiveCharts2:一款強大的跨平台圖表庫

LiveCharts2 的特點之一是性能優異,它使用了一些優化技巧,比如資料虛拟化、圖形緩存、異步繪制等,能夠在大資料量下仍然能保持良好的響應速度和渲染性能。另外,它還提供了豐富的文檔和示例,友善開發者快速入手和使用。

圖表示例

LiveCharts2 提供了多種類型的圖表,包括折線圖、面積圖、柱狀圖、散點圖、餅圖等。同時,它還支援多個圖表關聯顯示,支援動态更新資料、自定義樣式和動畫效果等功能。

探索 LiveCharts2:一款強大的跨平台圖表庫
探索 LiveCharts2:一款強大的跨平台圖表庫
探索 LiveCharts2:一款強大的跨平台圖表庫

在控制台程式中生成圖像

LiveCharts 可以在不需要任何 UI 架構的情況下呈現圖像,隻要安裝 SkiaSharp View 包,就可以在伺服器端或控制台應用程式中建構圖像,它可以從 NuGet 安裝:

LiveChartsCore.SkiaSharpView           
using LiveChartsCore;
using LiveChartsCore.Geo;
using LiveChartsCore.SkiaSharpView;
using LiveChartsCore.SkiaSharpView.Drawing.Geometries;
using LiveChartsCore.SkiaSharpView.SKCharts;

var cartesianChart = new SKCartesianChart
{
 Width = 900,
 Height = 600,
 Series = new ISeries[]
 {
new LineSeries<int> { Values = new int[] { 1, 5, 4, 6 } },
new ColumnSeries<int> { Values = new int[] { 4, 8, 2, 4 } }
 }
};

// you can save the image to png (by default)
// or use the second argument to specify another format.
cartesianChart.SaveImage("cartesianChart.png");

var pieChart = new SKPieChart
{
 Width = 900,
 Height = 600,
 Series = new ISeries[]
 {
new PieSeries<int> { Values = new int[] { 10, } },
new PieSeries<int> { Values = new int[] { 6 } },
new PieSeries<int> { Values = new int[] { 4 } }
 }
};

pieChart.SaveImage("pieChart.png");

var geoHeatMap = new SKGeoMap
{
 Width = 900,
 Height = 600,
 Series = new IGeoSeries[]
 {
new HeatLandSeries
 {
 Lands = new HeatLand[]
 {
new() { Name = "mex", Value = 10 },
new() { Name = "usa", Value = 15 },
new() { Name = "can", Value = 8 }
 }
 }
 }
};

geoHeatMap.SaveImage("geoHeatMap.png");

// alternatively you can get the image and do different operations:
using var image = cartesianChart.GetImage();
using var data = image.Encode();
var base64CartesianChart = Convert.ToBase64String(data.AsSpan());

Console.WriteLine("Images saved at the root folder!");           

項目位址

在 Dotnet工具箱 公衆号内,回複 303,即可擷取項目位址。

Dotnet 工具箱

探索 LiveCharts2:一款強大的跨平台圖表庫

分享

探索 LiveCharts2:一款強大的跨平台圖表庫

點收藏

探索 LiveCharts2:一款強大的跨平台圖表庫

繼續閱讀