C#繪圖套件介紹(01)-Live Charts

C#繪圖套件介紹(01)-Live Charts

C#繪圖套件介紹(01)-Live Charts

tags: Live Charts DataVisualization Open Source 資料視覺化 開源套件

如果有興趣想要了解更多,可以選擇直接到Live Charts的官方網站閱覽(傳送門)。本篇主要為中文翻譯跟自己的使用心得。

前言

C#有提供Chart的套件,設定起來個人覺得有點麻煩,而且要如何用C#的Chart繪製出來賞心悅目的圖,實在是很考驗我這種沒什麼設計美感的人。
所以善用別人的工具、套件來解決開發上的問題,也是一個Solution。而今天要介紹的就是標題寫的LiveCharts

官網簡介與軟體特點

從官網的簡介中,寫到了下面這句話:

Simple, flexible, interactive & powerful data visualization for .Net
LiveCharts is just data visualization but built and for everyone.

翻譯:簡單、有彈性、具互動性且強大的.Net資料視覺化.LiveCharts只是資料視覺化,但它建構且是可以給每個人使用的。

這邊大概就點出我覺得它好用的兩個特點,具互動性以及for everyone(其實就是開源(Open Source)).

上面這句只是簡單的Intro它還有針對幾個特點詳加說明:

Open Source

Constant improvements and fixes, due the Github community, in the first year LiveCharts is one of the most active repositories in C#

翻譯:
開放原始碼: 由於Github社群,持續改善且維護。在第一年LiveCharts 是C#專案中最活躍的儲存庫。
補充:
從目前Github的Pulse上面來看,是沒辦法去驗證它所說的第一年是不是最活躍(目前Pulse只能查到最近三個月2019.05~2019.07,但LiveCharts在2016年就上了)
不過可以看到大多數的Commit多半都是在第一年所完成。

Free

It runs under the MIT license, this means you can do practically what ever you need with the source code

翻譯:
免費: LiveCharts運行在MIT的授權下,這意味著你實際上可以做任何你需要對原始碼做的改動。
補充:
MIT授權的License在LiveCharts的資料夾下有,連結如下: https://github.com/Live-Charts/Live-Charts/blob/master/LICENSE.TXT
MIT有著非常少的限制,不限於權利
使用,複製,修改,合併,發布,分發,再許可和/或出售
本軟件的副本。唯一需要做的是版權聲明和本許可聲明均應包含在內
本軟件的副本或重要部分。
然後作者們不負擔保固,因此不會因為合約造成的索賠。

Support

The Github repo is full of examples, also this web site, if it is not enough try our chat, the main author or the library is normally there

翻譯:
支援性: Gihub的儲存庫有許多範例,也有網站,如果這些都還不足夠還有聊天教。正常情況下,主要的作者跟函式庫都會在Github上。
補充:
範例提供了非常簡易上手的操作,即便對於C#很生疏,也可以介由修改範例來做到簡易圖表。

A Full Solution

Lines, bars, pies, heatmaps, gauges, maps and we keep counting!

翻譯:
全方位解決方案: 曲線圖、柱狀圖、圓餅圖、熱點圖、地圖並持續增加。
補充:
從他提供的文件Documentation上面就可以略知一二,有上述圖形的範例。

MV* friendly

Follow MV* patterns, without losing the beauty of a strongly typed language

翻譯:
** 親近 MV* :** 遵循著 MV* 的形式,不失一種強烈類型語言的美。
補充:
MV* 只跟MV相關的,而這邊的M指的是Model(模型) V是指View(視圖),MV* 常見以下3個種類:

  • MVC(Model/View/Controller)
  • MVP(Model/View/Presenter)
  • MVVM(Model/View/View-Model)

這樣的架構主要就是在解決UI設計上碰到的問題,不過多用於在設計較為複雜的UI時候;在UI並不複雜的情況下,還是拉寫好的控制項比較快。

Flexible code

We already support WPF and WinForms, planning to be in UWP and Xamarin at least.

翻譯:
彈性的程式碼: LiveCharts已經支援運行WPF以及WinForms, 計畫將至少納入UWP與Xamarin。
補充:
目前網站上提供的範例已經有WPF/WinForms/UWP,不同的寫法目的是為了讓基於C#開發的程式能夠不僅止於電腦的環境下使用,而是可以跨平台使用,觸及到如:手機、遊戲主機或其他攜帶式裝置。

結語

未來或許可以寫一點使用心得,或是設計出一些簡單與SQL Server搭配的範例,放到網誌上與大家分享。
介紹這個套件是過去在開發當中Winform所提供的Chart用起來真的就是差那麼一點點,功能都有但就會被嫌太陽春(視覺上)。而LiveCharts提供的正是Chart所欠缺的互動性(Interactive),而且使用起來相當簡單,要達到同樣的美觀程度,用Chart絕對是比較複雜的。

以我自己為例,配色真的是一個障礙,通常用Chart提供的圖例色塊,不算美觀、有時候甚至難以辨識。而且繪製出來就是死板板的圖,需要有互動性還是要寫一些事件觸發的處理。而Live Charts就都幫你配好好,大多時間,你只要做微調跟選擇啟用或關閉功能。

而這款套件,也跟以瀏覽器為主的highchart相比毫不遜色,功能上也非常雷同,在視窗程式做出如網頁般地互動性,至少User在使用上有多一點趣味。以上是簡短地分享,如果各位有興趣,可以繼續前往官方網站Live Charts

留言