歡迎您的來訪!有源碼,好建站(m.bmm520.net)源碼海洋源碼網為您提供快速建站平臺.
      當前位置: 首頁 > 行業資訊 > c# .net 資料 >

      C#下MSchart的應用總結

      時間:2019-11-05 16:06來源:未知 作者:源碼海洋 點擊:
      【WinForm】MSChart主要屬性 一、 繪圖區域ChartAreas 在一個Chart控件中可增加多個繪圖區域,每個繪圖區域包含獨立的圖表組、數據源,可用于多個圖表類型。 1.AlignmentOrientation:圖表區對齊方向,定義兩個繪圖區域間的對齊方式,默認為Vertical。 2.Ali

       【WinForm】MSChart主要屬性

      一、繪圖區域ChartAreas

      在一個Chart控件中可增加多個繪圖區域,每個繪圖區域包含獨立的圖表組、數據源,可用于多個圖表類型。

      1.AlignmentOrientation:圖表區對齊方向,定義兩個繪圖區域間的對齊方式,默認為Vertical。

      2.AlignmentStyle:圖表區對齊類型,定義圖表間用以對其的元素。

      3.AlignWithChartArea:參照對齊的繪圖區名稱。

      4.InnerPlotPosition:圖表在繪圖區內的位置屬性。

        a.Auto:是否自動對齊。

        b.Height:圖表在繪圖區內的高度(百分比,取值在0-100)

        c.Width:圖表在繪圖區內的寬度(百分比,取值在0-100)

        d.X,Y:圖表在繪圖區內左上角坐標

      5.Position:繪圖區位置屬性,選項如同InnerPlotPosition。

      6.Name:繪圖區名稱。

      7.Axes:坐標軸集合-非常重要的部分,可分別設置X軸(X axis),Y軸(Y axis),第二X軸(SecnondaryX axis)和第二Y軸(Secnondary Y axis),常用的屬性包括:

       a.ArrowStyle設置坐標軸是否有箭頭

        b.Interval:軸刻度間隔大小

       c.IntervalOffset:軸刻度偏移量大小

       d.LableStyle 設置坐標軸的文字大小等

        e.MajorGrid:主要輔助線

       f.MajorTickMark:主要刻度線

       g.MinorTickMark:次要刻度線

       h.MinorGrid:次要輔助線

        i.Title:坐標軸標題

        j.TitleAlignment:坐標軸標題對齊方式

      二、數據系列Series

      Series:最重要的屬性,圖表集合,就是最終看到的餅圖、柱狀圖、線圖、點圖等構成的合;可以將多種相互兼容的類型放在一個繪圖區域內,形成復合圖。

      1.ChartArea:圖表所屬的繪圖區域名稱

      2.ChartType:圖表類型(柱形、餅形、線形、點形等)

      3.IsValueShownAsLabel:是否顯示數據點標簽,如果為true,在圖表中顯示每一個數據值

      4.Label:數據點標簽文本

      5.LabelFormat:數據點標簽文本格式

      6.LabelAngle:標簽字體角度

      7.Legend:當前數據系列(圖表)使用的圖例名稱

      8.Name:數據系列的名稱

      9.Palette:數據系列(圖表)外觀定義

      10.Points:數據點集合,構成數據系列的點

      11.XValueMember:橫坐標綁定的數據源

      12.XValueType:橫坐標軸類型

      13.YValueMembers:縱坐標綁定的數據源

      14.YValueType:縱坐標軸類型

      、圖例Legends

      MSChart的圖例默認不顯示,但可進行如下設置:

      1.Alignment:對齊方式

      2.AutoFitMinFontSize:當IsTextAutoFit為true時,顯示的最小字體

      3.BackColor:背景顏色,當本身的繪圖區域有背景時,將其設置為transparent效果更佳。

      4.enabled:是否顯示圖例

      5.IsTextAutoFit:文字大小根據圖例區域的大小自動調整

      6.Position:圖例出現的位置

       

       

       

      技術分享

      從圖中可以看到一個chart可以繪制多個ChartArea,每個ChartArea都可以繪制多條Series。ChartArea就是就是繪圖區域,可以有多個ChartArea疊加在一起,series是畫在ChartAarea上的,Series英文意思是“序列、連續”,其實就是數據線,它可以是曲線、點、柱形、條形、餅圖...可以注意該chart當數據非常多的時候可以通過鼠標選擇查看區域,進一步拖拽橫縱向滾動條來縮小曲線圖查看。

       

      一、數據源:

          數據返回方式是DataSet.Tables[0],即DataTable,也是最基本的數據源方式。這里只介紹DataTable綁定數據源,很簡單:

                      chartData.DataSource = dt;

                      chartData.DataBind();

      二、Series:

         Series是畫在ChartArea上的線、點、柱形、條形、餅圖,簡單點兒說就是畫在上面的數據,直接說屬性,

       1. “標記”:就是數據點,某個數據值的點。如下圖所示:

      技術分享

      技術分享

       

      3. “Font”:數據標簽上的字體和樣式

      Font                      標簽字體設置

           Font.Unit                 個人設置此值為Document,自己體會

           LabelAngle                標簽角度,斜多少度,建議就正著

           LabelBackColor            標簽背景顏色

           LabelBorderColor          標簽邊框顏色

            LabelBorderDahStyle       標簽邊框樣式

           LabelBorderWidth          標簽邊框寬度

           LabelForeColor            標簽字體顏色

           其他屬性自己試

      4、空白點(EmptyPointStyle):就是連續的數據,譬如X軸對應Y軸沒數據,或Y軸對應X軸沒數據,這樣的數據點可以對其設置相應的屬性;

       

      5、數據源:注意這里是Series的數據源(XValueMember、YValueMembers)

      注意:
          第一,這兩個屬性對應的是DataTable的兩個列,也就是一般的X軸對應時間,Y軸對應數據值,但是也要注意對DataTable的每個數據單元的值做判斷,尤其是DBNull或空。我這里的數據庫的NewDateTime列數據類型是DateTime類型,NewFyj是Double類型。

          第二,Series的數據源和Chart控件的數據源有區別,只有DataTable先綁定了Chart,Series才對應到列,否則無法對應。

      6. 圖表(ChartArea):也就是Serie畫在哪個ChartArea上,ChartType是Serie的圖表類型,也就是畫何種圖,曲線圖、直線圖、點、柱狀圖、餅圖等...

      7. 圖例(Legend):也就是每個Serie的名字和樣式,只要創建Serie就會自動產生加載在Legend里,里面的屬性可以試一下,如果想調整Legend的位置,可以去Legend集合里設置,比較簡單,這里不多說

      8. 映射區(TooTip):鼠標放在數據點上出現的小提示,建議用代碼控制;

      9. 雜項:  EmptyPointValue:空數據點的值做平均還是做零處理

               LabelStyle: 對標簽硬性的規定顯示在數據點旁的哪個位置

      10. 軸:也就是X軸和Y軸,X軸有主軸和副軸,Y軸也有主軸和副軸,主軸為Primary,副軸為Secondary。X主軸在下方,Y主軸在右方,X副軸在上方,Y副軸在右方。

       

      三、ChartAreas:

      Chart控件里最重要的,每個Serie都畫在ChartArea上,Chart控件可以有多個ChartArea疊加在一起顯示。比如第一個ChartArea繪制的是曲線,第二個畫的柱狀圖或者是別的,這也是上面說過的Serie的ChartType,我們也可以把多個Serie畫在一個ChartArea上,但是如果有一個列數據單位范圍在500~10000之間的數據浮動最大,有一列數據單位范圍在0.1~2.0之間,有一列數據單位范圍在50~100之間,那畫在同一個ChartArea上顯示的話,0.1到2.0的數據會變成一條直線。當只有1、2條這樣的數據時,可以在Serie中設置主軸和副軸,但當出現多條數據,多種類型的顯示,就需要多個ChartArea來解決了。

       

      1.      對齊:ChartArea對齊方式;

      AlignmentOrientation水平對齊、垂直對齊、全部對齊

      AlignmentStyle  根據哪種方式對齊   AlignmentWithChartArea和哪個對齊

      2.      三維(Area3DStyle):自己試試,效果很沉重,不是很好;

      3.      外觀:可以對ChartArea顏色、邊框、位置的設置;

      注意:

        第一,InnerPlotPosition和Position一個是大的,一個是內部繪制的,試一下就明白了,這里最重要的是多個ChartArea重疊在一起的時候,兩個Position一定要設置相同,否則就重疊不上了。

       第二,多個ChartArea重疊在一起的時候,顏色或圖片只能在疊在最底下的ChartArea來設置,上面的ChartArea都設置為透明即可,最底下的ChartArea是ChartAreas[0],所以不要設置錯。

      4.      游標:CursorX和CursorY,就是橫向和縱向滾動條, 首先強調一下,只要想選擇區域細看曲線圖,就一定要啟用游標,游標的設置只能在疊加在最上面的ChartArea進行設置,也就是ChartArea[ChartArea.Count-1],X軸和Y軸上都可以有游標,可以拖動,可以注意看有個按鈕上面有個圓圈,就是向后退,滑動用戶選擇的區域,松開鼠標就會變成該區域的圖形;

      5.      軸Axes!!:非常重要,一個ChartArea有4個軸:主軸X axis、主軸Y(Value)axis、副軸X axis、副軸Y(Value)axis,每個軸屬性均相同;屬性:標簽、間隔(Interval)、標題、數據視圖(ScaleView)、滑動條(ScrollBar),外觀、網絡刻度線等;

      注意:  ScaleView是數據視圖,也就是當前繪制出圖表的一個區域,如果用鼠標選擇某個區域展開顯示,新展開的就又是一個ScaleView,只把它想成當前顯示的視圖就好理解了。ScrollBar就是游標,之前我們說的ChartArea.CursorX或Y是也是游標,這里的ScrollBar是滾動條,仔細看兩者的屬性不難發現,一個是選擇區域,一個是拖拽滾動條查看所有數據。

      (責任編輯:源碼海洋)本文地址:http://m.bmm520.net/info/net/2019/1105/19982.html

      推薦資訊

      国产亚洲av片在线观看18女人| 国产亚洲漂亮白嫩美女在线 | heyzo亚洲精品日韩| 久久精品国产精品亚洲蜜月| 亚洲一区二区无码偷拍| 亚洲国产精品久久| 亚洲午夜久久久久久久久久| 久久亚洲2019中文字幕| 在线亚洲精品视频| 亚洲av永久无码精品秋霞电影秋 | 亚洲av成人一区二区三区| 亚洲色av性色在线观无码| 久久亚洲AV无码精品色午夜| 久久久久亚洲AV成人无码| 水蜜桃亚洲一二三四在线| 亚洲国产高清视频| 91久久亚洲国产成人精品性色| 久久亚洲精品无码aⅴ大香| 亚洲日本乱码一区二区在线二产线| 亚洲网站在线免费观看| 亚洲精品在线视频观看| 亚洲一区二区三区四区在线观看| 亚洲成年轻人电影网站www| 亚洲男人天堂2020| 亚洲一区二区三区影院| 亚洲V无码一区二区三区四区观看| 亚洲成AV人片在| 亚洲一区二区电影| 亚洲国产中文在线视频| 亚洲乱码在线卡一卡二卡新区| 精品亚洲国产成人| 亚洲国产精品网站在线播放 | 亚洲AV一区二区三区四区| 亚洲av高清在线观看一区二区 | 亚洲日本中文字幕天堂网| 亚洲女同成av人片在线观看| 亚洲成人中文字幕| 亚洲电影在线免费观看| 亚洲中文字幕一二三四区| 国产亚洲精彩视频| 亚洲无线码在线一区观看|