C# Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性


為了繼續堅持自己的開發和總結的信念,總結一下C# chart控件的一些基本屬性,由於屬性太多了,一時半會兒寫不完,以后繼續補充,這里總結重要的常用的屬性

 

 

為避免耽誤不喜歡這種曲線圖效果的親們的時間,先看一下小DEMO效果圖:

 

C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

先簡單說一下,從圖中可以看到一個chart可以繪制多個ChartArea,每個ChartArea都可以繪制多條Series。ChartArea就是就是繪圖區域,可以有多個ChartArea疊加在一起,series是畫在ChartAarea上的,Series英文意思是“序列、連續”,其實就是數據線,它可以是曲線、點、柱形、條形、餅圖...可以注意該chart當數據非常多的時候可以通過鼠標選擇查看區域,進一步拖拽橫縱向滾動條來縮小曲線圖查看。
代碼中的Chart控件的命名是chartData,數據源是dt,由於chart屬性太多,不好一一解釋,所以請仔細看截圖,尤其重視本例用到的屬性

 

 

 

一、數據源:

 

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

 

                chartData.DataSource = dt;                 chartData.DataBind();

 

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

 

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

 

    C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
               MarkerBorderColor    數據點邊框的顏色

 

               MarkerBorderWidth    數據點邊框的寬度

 

               MarkColor            數據點的顏色                MakerSize            數據點的大小,默認值為0數據點不存在,建議代碼控制

 

               MarkerStep           數據點顯示的頻率

 

               MarkerStyle          數據點的樣式,可以是方塊、圓圈、三角、叉子....

 

               

 

 2. “標簽”:就是現在是在數據點旁邊數據值        

 

      C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性             IsValueShownAsLabel                    數據值是否顯示,建議代碼控制

 

            SmartLabelStyle                        數據值樣式

 

            SmartLabelStyle.Enabled                直接控制可用不可用,建議不可用

 

            SmartLabelStyle.AllowOutsidePloArea    數據值顯示是否允許在外面

 

            其他屬性自己試吧

 

 

 

注意:如果要使用SmartLabelStyle的話,所有的數據點的值都會自動找位置顯示出來,如果某一個區域數據點較多,就會直線指示;如果不用的話,數據點的值會在數據點旁邊顯示,不會有直線。如下圖所示也可以看到AllowOutsidePlotArea的區別:

 

C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

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

 

               C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                             Font                      標簽字體設置

 

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

 

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

 

                     LabelBackColor            標簽背景顏色

 

                     LabelBorderColor          標簽邊框顏色

 

                     LabelBorderDahStyle       標簽邊框樣式

 

                     LabelBorderWidth          標簽邊框寬度

 

                     LabelForeColor            標簽字體顏色

 

                     其他屬性自己試

 

                 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性               真好看 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性數據多的時候本來顯示就亂拉,這樣更是畫蛇添足,建議透明,正常點的顏色就好

 

 

 

3. 空白點:就是連續的數據,譬如X軸對應Y軸沒數據,或Y軸對應X軸沒數據,這樣的數據點可以對其設置相應的屬性,屬性大多都是上面說過的,自己試一下即可                C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

 

 

4. 數據:其實就是就是serie的名字和值類型

 

               C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                              Name                  就是唯一的名字

 

                           XvalueType            X軸值類型

 

                           YValuesPerPoint       數據點的Y值數目

 

                           YValueType            Y軸值類型

 

                           其他屬性自己試

 

    默認不用設置就好,主要是X軸和Y軸值類型設置的是Auto,也就是根據X軸上的值和Y軸上的值的類型自動匹配,當然手動設置的話不設錯就行了。

 

                           5. 數據源:注意這里是Series的數據源

 

            C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

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

 

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

 

    第三,假如用戶需要先查看所有數據,然后取消某幾條進行數據對比,但是不需要重新查詢數據,推薦賦值string.Empty實現,如下圖:

 

                     C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
6. 圖表:也就是Serie畫在哪個ChartArea上,ChartType是Serie的圖表類型,也就是畫何種圖,曲線圖、直線圖、點、柱狀圖、餅圖等...

 

                  C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

                  

 

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

 

                     C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
8. 圖表

 

                   C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
9. 映射區:鼠標放在數據點上出現的小提示,建議用代碼控制

 

                      C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

             C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
10. 雜項

 

               C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                           EmptyPointValue          空數據點的值做平均還是做零處理

 

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

 

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

 

                         C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性       三、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對齊方式

 

                   C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                     AlignmentOrientation            水平對齊、垂直對齊、全部對齊

 

                    AlignmentStyle                  根據哪種方式對齊

 

                    AlignmentWithChartArea          和哪個對齊

 

     老實說,沒啥用,可以設置Position,一會兒在外觀里會說到

 

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

 

                            C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

 

 

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

 

                 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

                        BackColor                       ChartArea的背景顏色

 

                        BackGradientStyle               背景顏色的漸變方式

 

                        BackHatchStyle                  背景陰影

 

                        BackImage                       背景圖片

 

                        BackImageAlignment              圖片顯示位置

 

                        BackImageTransparentColor       繪制圖像時顯示的顏色

 

                        BackImageWrapMode               包裝模式                           BackSecondaryColor              ChartArea的第二背景顏色,搭配漸變用的

 

                        BorderColor                     邊框顏色

 

                        BorderDashStyle                 邊框線的樣式

 

                        BorderWidth                     邊框寬度

 

                        ShadowColor                     整個圖標的背影顏色

 

                        ShadowOffset                    背影偏移量

 

注意:

 

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

 

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

 

 

 

4. 游標:CursorX和CursorY,就是橫向和縱向滾動條

 

             C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                        CursorX.AutoScroll                  滾動條自動滾動

 

                       CursorX.AxisType                    游標作用在主軸還是副軸

 

                       CursorX.Interval                    游標偏移的間隔

 

                       CursorX.IntervalOffset              游標間隔偏移量

 

                       CursorX.IntervalOffsetType          游標間隔的單位,建議Auto                        CursorX.Type                        游標間隔偏移量的單位,建議Auto

 

                       CursorX.IsUserEnabled               啟用游標

 

                       CursorX.IsUserSelectedEnabled       啟用游標選擇區域

 

                       CursorX.LineColor                   游標線顏色

 

                       CursorX.LineDashStyle               游標線樣式

 

                       CursorX.LineWidth                   游標線的寬度

 

                       CursorX.SelectionColor              游標選擇區域的顏色

 

                       CursorY相同,其他屬性自己試

 

    首先強調一下,只要想選擇區域細看曲線圖,就一定要啟用游標,游標的設置只能在疊加在最上面的ChartArea進行設置,也就是ChartArea[ChartArea.Count-1],。列了這么多屬性看一下圖更直觀:

 

C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
X軸和Y軸上有游標,可以拖動,可以注意看有個按鈕上面有個圓圈,就是向后退,圖中的藍色矩形方塊就是用戶選擇的區域,松開鼠標就會變成該區域的圖形。

 

 

 

5. 雜項:Name,沒啥好說的

 

                       C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

6. 軸Axes!!:非常重要,一個ChartArea有4個軸:主軸X axis、主軸Y(Value)axis、副軸X axis、副軸Y(Value)axis,每個軸屬性均相同,只說一個一個軸

 

                 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                         IsLabelAutoFit                  軸上的標簽自動調整

 

                        LabelAutoFitMaxFontSize         軸上標簽自適應字體大號                         LabelAutoFitMaxFontSize         軸上標簽自適應字體小號

 

                        LabelStyle.Angle                標簽顯示角度

 

                        LabelStyle.IsEndLabelVisible    最后一個標簽是否顯示     

 

                        其他屬性自己試

 

    我的Interval這里設置都是NotSet,沒有設置Auto,為什么,自己試就明白了

 

                  C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                         TextOrientation             軸的標題方向

 

                        Title                       軸的名字,X軸是時間軸,Title就是時間

 

                        其他屬性自己試,簡單

 

                  C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                        IntervalAutoMode             間隔是固定值還是隨着軸變化,自己試

 

                     C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                       ScaleView                      數據視圖,就是當前繪制展開的圖!重要!                       MinSizeType                    游標滾動類型

 

                      ScrollBar                      滾動條

 

    ScaleView是數據視圖,也就是當前繪制出圖表的一個區域,如果用鼠標選擇某個區域展開顯示,新展開的就又是一個ScaleView,只把它想成當前顯示的視圖就好理解了。

 

    ScrollBar就是游標,之前我們說的ChartArea.CursorX或Y是也是游標,這里的ScrollBar是滾動條,仔細看兩者的屬性不難發現,一個是選擇區域,一個是拖拽滾動條查看所有數據。

 

C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

               C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性                        這些屬性都不是重點,自己試試吧,就是外觀設計

           C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

                    不多說了,需要網格的在這里設置就行,感覺設置完了很丑,不過各花入個眼,如下圖,還不錯哈

 

C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性
             C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

                                          簡單不說        別忘了,咱們還停留在ChartArea.Axis里呢,這僅是一個軸,有需要的別忘了設置其他的軸哦C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性 C# <wbr>Chart控件,chart、Series、ChartArea曲線圖繪制的重要屬性

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM