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

      C#下MSchart的應(yīng)用總結(jié)

      時(shí)間:2019-11-05 16:06來源:未知 作者:源碼海洋 點(diǎn)擊:
      【W(wǎng)inForm】MSChart主要屬性 一、 繪圖區(qū)域ChartAreas 在一個(gè)Chart控件中可增加多個(gè)繪圖區(qū)域,每個(gè)繪圖區(qū)域包含獨(dú)立的圖表組、數(shù)據(jù)源,可用于多個(gè)圖表類型。 1.AlignmentOrientation:圖表區(qū)對齊方向,定義兩個(gè)繪圖區(qū)域間的對齊方式,默認(rèn)為Vertical。 2.Ali

       【W(wǎng)inForm】MSChart主要屬性

      一、繪圖區(qū)域ChartAreas

      在一個(gè)Chart控件中可增加多個(gè)繪圖區(qū)域,每個(gè)繪圖區(qū)域包含獨(dú)立的圖表組、數(shù)據(jù)源,可用于多個(gè)圖表類型。

      1.AlignmentOrientation:圖表區(qū)對齊方向,定義兩個(gè)繪圖區(qū)域間的對齊方式,默認(rèn)為Vertical。

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

      3.AlignWithChartArea:參照對齊的繪圖區(qū)名稱。

      4.InnerPlotPosition:圖表在繪圖區(qū)內(nèi)的位置屬性。

        a.Auto:是否自動對齊。

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

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

        d.X,Y:圖表在繪圖區(qū)內(nèi)左上角坐標(biāo)

      5.Position:繪圖區(qū)位置屬性,選項(xiàng)如同InnerPlotPosition。

      6.Name:繪圖區(qū)名稱。

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

       a.ArrowStyle設(shè)置坐標(biāo)軸是否有箭頭

        b.Interval:軸刻度間隔大小

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

       d.LableStyle 設(shè)置坐標(biāo)軸的文字大小等

        e.MajorGrid:主要輔助線

       f.MajorTickMark:主要刻度線

       g.MinorTickMark:次要刻度線

       h.MinorGrid:次要輔助線

        i.Title:坐標(biāo)軸標(biāo)題

        j.TitleAlignment:坐標(biāo)軸標(biāo)題對齊方式

      二、數(shù)據(jù)系列Series

      Series:最重要的屬性,圖表集合,就是最終看到的餅圖、柱狀圖、線圖、點(diǎn)圖等構(gòu)成的合;可以將多種相互兼容的類型放在一個(gè)繪圖區(qū)域內(nèi),形成復(fù)合圖。

      1.ChartArea:圖表所屬的繪圖區(qū)域名稱

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

      3.IsValueShownAsLabel:是否顯示數(shù)據(jù)點(diǎn)標(biāo)簽,如果為true,在圖表中顯示每一個(gè)數(shù)據(jù)值

      4.Label:數(shù)據(jù)點(diǎn)標(biāo)簽文本

      5.LabelFormat:數(shù)據(jù)點(diǎn)標(biāo)簽文本格式

      6.LabelAngle:標(biāo)簽字體角度

      7.Legend:當(dāng)前數(shù)據(jù)系列(圖表)使用的圖例名稱

      8.Name:數(shù)據(jù)系列的名稱

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

      10.Points:數(shù)據(jù)點(diǎn)集合,構(gòu)成數(shù)據(jù)系列的點(diǎn)

      11.XValueMember:橫坐標(biāo)綁定的數(shù)據(jù)源

      12.XValueType:橫坐標(biāo)軸類型

      13.YValueMembers:縱坐標(biāo)綁定的數(shù)據(jù)源

      14.YValueType:縱坐標(biāo)軸類型

      、圖例Legends

      MSChart的圖例默認(rèn)不顯示,但可進(jìn)行如下設(shè)置:

      1.Alignment:對齊方式

      2.AutoFitMinFontSize:當(dāng)IsTextAutoFit為true時(shí),顯示的最小字體

      3.BackColor:背景顏色,當(dāng)本身的繪圖區(qū)域有背景時(shí),將其設(shè)置為transparent效果更佳。

      4.enabled:是否顯示圖例

      5.IsTextAutoFit:文字大小根據(jù)圖例區(qū)域的大小自動調(diào)整

      6.Position:圖例出現(xiàn)的位置

       

       

       

      技術(shù)分享

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

       

      一、數(shù)據(jù)源:

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

                      chartData.DataSource = dt;

                      chartData.DataBind();

      二、Series:

         Series是畫在ChartArea上的線、點(diǎn)、柱形、條形、餅圖,簡單點(diǎn)兒說就是畫在上面的數(shù)據(jù),直接說屬性,

       1. “標(biāo)記”:就是數(shù)據(jù)點(diǎn),某個(gè)數(shù)據(jù)值的點(diǎn)。如下圖所示:

      技術(shù)分享

      技術(shù)分享

       

      3. “Font”:數(shù)據(jù)標(biāo)簽上的字體和樣式

      Font                      標(biāo)簽字體設(shè)置

           Font.Unit                 個(gè)人設(shè)置此值為Document,自己體會

           LabelAngle                標(biāo)簽角度,斜多少度,建議就正著

           LabelBackColor            標(biāo)簽背景顏色

           LabelBorderColor          標(biāo)簽邊框顏色

            LabelBorderDahStyle       標(biāo)簽邊框樣式

           LabelBorderWidth          標(biāo)簽邊框?qū)挾?/p>

           LabelForeColor            標(biāo)簽字體顏色

           其他屬性自己試

      4、空白點(diǎn)(EmptyPointStyle):就是連續(xù)的數(shù)據(jù),譬如X軸對應(yīng)Y軸沒數(shù)據(jù),或Y軸對應(yīng)X軸沒數(shù)據(jù),這樣的數(shù)據(jù)點(diǎn)可以對其設(shè)置相應(yīng)的屬性;

       

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

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

          第二,Series的數(shù)據(jù)源和Chart控件的數(shù)據(jù)源有區(qū)別,只有DataTable先綁定了Chart,Series才對應(yīng)到列,否則無法對應(yīng)。

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

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

      8. 映射區(qū)(TooTip):鼠標(biāo)放在數(shù)據(jù)點(diǎn)上出現(xiàn)的小提示,建議用代碼控制;

      9. 雜項(xiàng):  EmptyPointValue:空數(shù)據(jù)點(diǎn)的值做平均還是做零處理

               LabelStyle: 對標(biāo)簽硬性的規(guī)定顯示在數(shù)據(jù)點(diǎn)旁的哪個(gè)位置

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

       

      三、ChartAreas:

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

       

      1.      對齊:ChartArea對齊方式;

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

      AlignmentStyle  根據(jù)哪種方式對齊   AlignmentWithChartArea和哪個(gè)對齊

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

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

      注意:

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

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

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

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

      注意:  ScaleView是數(shù)據(jù)視圖,也就是當(dāng)前繪制出圖表的一個(gè)區(qū)域,如果用鼠標(biāo)選擇某個(gè)區(qū)域展開顯示,新展開的就又是一個(gè)ScaleView,只把它想成當(dāng)前顯示的視圖就好理解了。ScrollBar就是游標(biāo),之前我們說的ChartArea.CursorX或Y是也是游標(biāo),這里的ScrollBar是滾動條,仔細(xì)看兩者的屬性不難發(fā)現(xiàn),一個(gè)是選擇區(qū)域,一個(gè)是拖拽滾動條查看所有數(shù)據(jù)。

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

      推薦資訊

      亚洲国产精品综合久久2007| 亚洲三级视频在线| 久久亚洲AV无码精品色午夜 | 精品日韩亚洲AV无码| 亚洲国产av无码精品| 亚洲AV第一成肉网| 亚洲免费福利在线视频| 亚洲综合中文字幕无线码| 亚洲人成77777在线观看网| 亚洲中文字幕无码一去台湾| 亚洲三级在线免费观看| 亚洲一区在线免费观看| 亚洲一区二区影视| 亚洲高清视频在线| 日本亚洲免费无线码 | 国产午夜亚洲精品午夜鲁丝片 | 相泽亚洲一区中文字幕| 相泽亚洲一区中文字幕| 亚洲精品美女久久777777| 亚洲AV无码一区二区乱孑伦AS| 亚洲国产精品无码久久久蜜芽 | 亚洲av无码专区国产不乱码 | 亚洲av无码国产精品色午夜字幕 | 亚洲国产精品一区| 亚洲美女视频网站| 亚洲av永久无码嘿嘿嘿| 亚洲人成色4444在线观看| 国产成人人综合亚洲欧美丁香花| 亚洲成A人片在线观看中文| 国产精品V亚洲精品V日韩精品 | 国产成人精品日本亚洲18图| 亚洲一卡2卡三卡4卡无卡下载 | heyzo亚洲精品日韩| 在线观看亚洲精品福利片| 亚洲av综合色区| 亚洲视频一区二区三区| 亚洲国产成人精品电影| 亚洲日本VA中文字幕久久道具| 在线亚洲v日韩v| 亚洲日韩aⅴ在线视频| 亚洲五月六月丁香激情|