微軟圖表控制項MsChart(附下載)

來源:互聯網
上載者:User

最近在網上看到了微軟圖表控制項MsChart,基本上能想到的圖表都可以使用它繪製出來,給圖形統計和報表圖形顯示提供了很好的解決辦法,同時支援Web和WinForm兩種方式,不過缺點也比較明顯,只能在最新的開發環境中使用,需要.Net 3.5 Sp1以及VS 2008的開發環境。
下面是:
    控制項:Microsoft .NET Framework 3.5 的 Microsoft 圖表控制項(Microsoft Chart Controls for Microsoft .NET Framework 3.5

包含英文版,中文版。上面提供的連結是中文版的,可以更改為英文版。
語言套件:Microsoft Chart Controls for Microsoft .NET Framework 3.5 Language Pack
Microsoft .NET Framework 3.5 的Microsoft 圖表控制項 的語言套件,包含23中語言。
Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008
文檔 (Microsoft Chart Controls for .NET Framework Documentation)
Demo 下載:http://code.msdn.microsoft.com/mschart
  下了它的樣本程式後,運行了一下,非常的強大,可以支援各種各樣的圖形顯示,常見的:點狀圖、餅圖、柱狀圖、曲線圖、面積圖、柏拉圖等等,同時也支援3D樣式的圖表顯示,不過我覺得最有用的功能還是支援圖形上各個點的屬性操作,它可以定義圖形上各個點、標籤、圖形的提示資訊(Tooltip)以及超級連結、Javascript動作等,而不是像其它圖形類庫僅產生一幅圖片而已,通過這些,加上微軟自己的Ajax架構,可以建立一個可以互動的圖形統計報表了。

一。安裝
    控制項的安裝相對比較簡單,下載完後,先執行“MSChart.exe”程式,它會自動檢測你的環境,安裝到系統目錄中去,如果要在VS 2008環境中直接使用,那麼需要安裝For Vs2008的外掛程式,MSChart_VisualStudioAddOn.exe,還有一個中文語言套件MSChartLP_chs.exe。安裝完後,開啟Vs2008,在建立項目的時候,你就能在工具列中看到有一個Chart的控制項。
二。使用
    安裝好後,建立一個.NET3.5的Web項目,像使用普通控制項一樣拖放到要使用的Web介面即可。初步研究了一下,整個圖形控制項主要由以下幾個部份組成:
1.Annotations --圖形註解集合
2.ChartAreas  --圖表區域集合
3.Legends      --圖例集合
4.Series    --圖表序列集合(即圖表資料對象集合)
5.Titles    --表徵圖的標題集合
Annotations註解集合
    Annotations是一個對圖形的一些註解對象的集合,所謂註解對象,類似於對某個點的詳細或者批註的說明,比如,在圖片上實現各個節點的關鍵資訊。
  一個圖形上可以擁有多個註解對象,可以添加十多種圖形樣式的註解對象,包括常見的箭頭、雲朵、矩行、圖片等等註解符號,通過各個註解對象的屬性,可以方便的設定註解對象的置放位置、呈現的顏色、大小、文字內容樣式等常見的屬性。
ChartAreas圖表區域集合
    ChartAreas可以理解為是一個圖表的繪圖區,例如,你想在一幅圖上呈現兩個不同屬性的內容,一個是使用者流量,另一個則是系統資源佔用情況,那麼你要在一個圖形上繪製這兩種情況,明顯是不合理的,對於這種情況,可以建立兩個ChartArea,一個用於呈現使用者流量,另一個則用於呈現系統資源的佔用情況。
    當然了,圖表控制項並不限制你添加多少個繪圖區域,你可以根據你的需要進行添加。對於每一個繪圖區域,你可以設定各自的屬性,如:X,Y軸屬性、背景等。
Legends圖例集合
    Legends是一個圖例的集合,即標註圖形中各個線條或顏色的含義,同樣,一個圖片也可以包含多個圖例說明,比如像上面說的多個圖表區域的方式,則可以建立多個圖例,每別說明各個繪圖區域的資訊,具體的圖例配置說明此處就不詳細說明了,可以參考一下官網的例子,寫得豐富的詳細
Series圖表序列
    圖表序列,應該是整個繪圖中最關鍵的內容了,通俗點說,即是實際的繪圖資料區域,實際呈現的圖形形狀,就是由此集合中的每一個圖表來構成的,可以往集合裡面添加多個圖表,每一個圖表可以有自己的繪製形狀、樣式、獨立的資料等。
    需要注意的是,每一個圖表,你可以指定它的繪製地區(見ChartAreas的說明),讓此圖表呈現在某個繪圖區域,也可以讓幾個圖表在同一個繪圖區域疊加。
Titles標題合集
    根據字面含義即可以理解,是圖表的標題配置,同樣可以添加多個標題,以及設定標題的樣式及文字、位置等屬性。多看一下它的屬性即能明白各自的含義。
三。其它屬性
    相對來說,我覺得比較有用的屬性有三個,分別是:Label、Tooltip以及Url連結。
    Label即標籤的含義,可以在圖片的關鍵位置進行一些關鍵數字或文字的描述。
    Tooltip即提示的含義,用於在各個關鍵點,如:標籤、圖形關鍵點、標題等當滑鼠移動上去的時候,提示使用者一些相關的詳細或說明資訊,例如,可以給曲線中的每一個點增加Tooltip的屬性,寫上需要詳細說明的內容,比如:詳細的銷售明細,那麼,在滑鼠移動到這個點的時候,會自動彈出提示資訊。
    Tooltip可以支援簡單方式以及自訂的方式,簡單方式即像平時Html版面設定的title之類的屬性效果,而自訂的方式,則可以實現圖形、文本等各種複雜的提示資訊顯示。詳細的方式請參考官方例子的:Interactivity and AJAX/Tooltips以及Interactivity and AJAX/Client Side Scripts下面的相關例子。
    Url連結,圖表控制項中,有一大半的控制項都有Url及Tooltip的屬性,你可以設定此屬性,在滑鼠點擊的時候,代到其它相應的頁面去。
  建議大家看看官方例子中的Interactivity and AJAX部份,很精彩:)
例子:建立一個Cpu資訊和記憶體使用量的即時統計表
    下面寫一個小例子,建立一個系統的記憶體即時統計圖表,使用到了Ajax的方法,以及Windows Api取得系統記憶體的方法。
    首先,建立一個Aspx頁面,拖動一個圖表控制項到頁面,設定圖表控制項的屬性如下:
  其中,MEMORY_INFO,ComputerInfo是一個定義的結構體及調用Win32 API介面的一個訪問類。程式分別取得每一個圖表對象,每次載入的時候,都重新取得當前的記憶體和Cpu資訊,再在圖表上添加一個點,需要注意的是,一定要設定圖表控制項的EnableViewState屬性為True,否則無法選項組。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.