zedgraph的一個例子

來源:互聯網
上載者:User

 

public partial class FrmMain : Form<br />{<br /> // 起始時間以毫秒為單位<br /> int tickStart = 0;<br /> public FrmMain()<br /> {<br /> InitializeComponent();<br /> }<br /> private void Form1_Load( object sender, EventArgs e )<br /> {<br /> //擷取引用<br /> GraphPane myPane = zedGraphControl1.GraphPane;<br /> //設定標題<br /> myPane.Title.Text = "即時曲線";<br /> //設定X軸解說文字<br /> myPane.XAxis.Title.Text = "時間";<br /> //設定Y軸解說文字<br /> myPane.YAxis.Title.Text = "溫度";<br /> //設定1200個點,假設每50毫秒更新一次,剛好檢測1分鐘,一旦構造後將不能更改這個值<br /> RollingPointPairList list = new RollingPointPairList( 1200 );<br /> //開始,增加的線是沒有資料點的(也就是list為空白)<br /> //增加一條名稱:Voltage,顏色Color.Bule,無符號,無資料的空線條<br /> LineItem curve = myPane.AddCurve("溫度", list, Color.Blue, SymbolType.None);<br /> timeDraw.Interval = 10; //設定timer控制項的間隔為50毫秒<br /> timeDraw.Enabled = true; //timer可用<br /> timeDraw.Start(); //開始<br /> myPane.XAxis.Scale.Min = 0; //X軸最小值0<br /> myPane.XAxis.Scale.Max = 30; //X軸最大30<br /> myPane.XAxis.Scale.MinorStep = 1;//X軸小步長1,也就是小間隔<br /> myPane.XAxis.Scale.MajorStep = 5;//X軸大步長為5,也就是顯示文字的大間隔<br /> //改變軸的刻度<br /> zedGraphControl1.AxisChange();<br /> //儲存開始時間<br /> tickStart = Environment.TickCount;<br /> }<br /> private void timer1_Tick( object sender, EventArgs e )<br /> {<br /> //確保CurveList不為空白<br /> if (zedGraphControl1.GraphPane.CurveList.Count <= 0)<br /> {<br /> return;<br /> }<br /> //取Graph第一個曲線,也就是第一步:在GraphPane.CurveList集合中尋找CurveItem<br /> LineItem curve = zedGraphControl1.GraphPane.CurveList[0] as LineItem;<br /> if (curve == null)<br /> {<br /> return;<br /> }<br /> //第二步:在CurveItem中訪問PointPairList(或者其它的IPointList),根據自己的需要增加新資料或修改已存在的資料<br /> IPointListEdit list = curve.Points as IPointListEdit;<br /> if (list == null)<br /> {<br /> return;<br /> }<br /> // 時間用秒錶示<br /> double time = ( Environment.TickCount - tickStart ) / 1000.0;<br /> // 3秒迴圈<br /> list.Add( time, Math.Sin( 2.0 * Math.PI * time / 3.0 ) );<br /> Scale xScale = zedGraphControl1.GraphPane.XAxis.Scale;<br /> if ( time > xScale.Max - xScale.MajorStep )<br /> {<br /> xScale.Max = time + xScale.MajorStep;<br /> xScale.Min = xScale.Max - 30.0;<br /> }<br /> //第三步:調用ZedGraphControl.AxisChange()方法更新X和Y軸的範圍<br /> zedGraphControl1.AxisChange();<br /> //第四步:調用Form.Invalidate()方法更新圖表<br /> zedGraphControl1.Invalidate();<br /> }<br /> private void Form1_Resize( object sender, EventArgs e )<br /> {<br /> SetSize();<br /> }<br /> private void SetSize()<br /> {<br /> // 控制始終是以10像素插入矩形從用戶端的形<br /> Rectangle formRect = this.ClientRectangle;<br /> formRect.Inflate( -10, -10 );<br /> if ( zedGraphControl1.Size != formRect.Size )<br /> {<br /> zedGraphControl1.Location = formRect.Location;<br /> zedGraphControl1.Size = formRect.Size;<br /> }<br /> }<br />

 

ZedGraph的一些基本一些概念

Chart

  ChartBorder 圖表區域的邊框設定

  ChartFill 圖表區域的背景填充

  Legend 圖表的注釋標籤顯示設定項目,一組資料對應一種顏色的注釋

  IsHStack 當有多個顯示項目的時候設定Y軸資料是疊加的還是分開的

  Xaxis 圖表區域的X軸相關資訊設定

  AxisColor 座標軸顏色

  Cross 座標的原點,可以設定座標的位移程度

  CrossAuto 原點自動化佈建:True的話Cross的設定就無效了。

  FontSpec X軸標題字型相關資訊

  Angle X軸標題字型顯示時候的角度,0為水平 90為垂直

  Fill X軸標題字型填充資訊

  ColorOpacity 透明度

  IsScaled 設定X軸標題字型顯示大小是否根據圖的比例放大縮小

  RangeMax 填充時候的最大傾斜度(有過渡色,沒試過)

  RangeMin 填充時候的最小傾斜度(有過渡色,沒試過)

  StringAlignment X軸標題字型排列(不清楚,沒試過)

  IsOmitMag 是否顯示指數冪(10次方,沒試過,似乎與IsUseTenPower有關係)

  IsPreventLabelOverlap 座標值顯示是否允許重疊,如果False的話,控制項會根據座標值長度自動消除部分座標值的顯示狀態

  IsShowTitle X軸標題是否顯示

  IsTicsBetweenLabels 兩個座標值之間是否自動顯示分隔標誌

  IsUseTenPower 是否使用10次冪指數

  IsVisible 是否顯示X軸

  IsZeroLine 當資料為0時候是否顯示(在餅狀圖顯示的時候有用)

  MajorGrid 大跨度的X軸表格虛線線顯示資訊

  DashOff 虛線中孔間距

  DashOn 虛線單位長度

  MajorTic 大跨度的X軸刻度資訊

  IsInside 在Chart內部是否顯示

  IsOutSide 在Chart外部是否顯示

  IsOpposite 在對面的軸上是否顯示

  MinorGrid 小跨度的X軸表格虛線顯示資訊

  MinorTic 小跨度的x軸刻度資訊

  MinSpace 刻度和軸之間的距離(沒試過)

  Scale 刻度值的一些設定

  IsReverse X軸的刻度值從高到低還是從低到高

  MajorStep 大刻度步長

  MajorStepAuto 是否自動化佈建大刻度步長

  MajorUnit 大刻度步長單位

  Max 刻度最大值

  MaxAuto 根據輸入資料自動化佈建刻度最大值

  Min 刻度最小值

  MinAuto 根據輸入資料自動化佈建刻度最小值

  MinGrace 不清楚,沒試過

  MinorStep 小刻度步長

  MinorStepAuto 是否自動化佈建小刻度步長

  MinorUnit 小刻度單位

  Type 資料顯示方式

  Liner直接現實(自動)

  Date按日期方式顯示

  Log 按指數冪方式顯示

  Ordinal順序顯示

  Y2Axis 第二個Y軸座標資訊顯示(具體設定看X軸)

  Yaxis 第一個Y軸座標資訊顯示(具體設定看X軸)

GraphPane

  BarBase 在產生柱狀圖的時候設定柱狀是基於X軸還是其他軸

  BarType 柱狀的類型疊加或其他。

  IsFontsScaled 圖比例變化時候圖表上的文字是否跟著自動縮放

  IsIgnoreInitial 是否忽略初始值

  IsIgnoreMissing 是否忽略預設值

  IsPenWidthScaled 圖比例變化時候圖表上的畫筆的粗細是否跟著自動縮放

  IsShowTitle 圖表標題是否顯示

  PaneFill Pane的一些填充資訊

MasterPane

  BaseDimension 縮放比例基數(可以試試效果)

   

資料 未測試過。不知道如何和資料庫綁定

外觀  

  IsImageMap 不清楚幹嗎用的

行為

  AxisChaneged 是否允許自動繪圖(沒試過,一般都true,動態繪圖)

  CacheDuration Cache儲存時間0

  OutputFormat 輸出格式

  RenderedImagePath 輸出路徑

  RenderMode 輸出模式,不太清楚一般都是ImageTag,另一個輸出的是亂碼不是圖片

 

對於圖表而言,一般是三種表現形式:柱狀圖、餅狀圖和點線圖。

ChartBorder 

圖表區域的邊框設定 

ChartFill 

圖表區域的背景填充 

Legend 

圖表的注釋標籤顯示設定項目,一組資料對應一種顏色的注釋 

IsHStack 

當有多個顯示項目的時候設定 Y 軸資料是疊加的還是分開的 

Xaxis 

圖表區域的 X 軸相關資訊設定 

AxisColor 

座標軸顏色 

Cross 

座標的原點,可以設定座標的位移程度 

CrossAuto 

原點自動化佈建:True 的話 Cross 的設定就無效了。 

FontSpec 

X 軸標題字型相關資訊 

Angle 

X 軸標題字型顯示時候的角度,0為水平 90為垂直 

Fill 

X 軸標題字型填充資訊 

ColorOpacity 

透明度 

IsScaled 

設定 X 軸標題字型顯示大小是否根據圖的比例放大縮小 

RangeMax 

填充時候的最大傾斜度(有過渡色,沒試過) 

RangeMin 

填充時候的最小傾斜度(有過渡色,沒試過) 

StringAlignment 

X 軸標題字型排列(不清楚,沒試過) 

IsOmitMag 

是否顯示指數冪(10次方,沒試過,似乎與 IsUseTenPower 有關係) 

IsPreventLabelOverlap 

座標值顯示是否允許重疊,如果False的話,控制項會根據座標值長度自動消除部分座標值的顯示狀態 

IsShowTitle 

X 軸標題是否顯示 

IsTicsBetweenLabels 

兩個座標值之間是否自動顯示分隔標誌 

IsUseTenPower 

是否使用10次冪指數 

IsZeroLine 

當資料為0時候是否顯示(在餅狀圖顯示的時候有用) 

IsVisible 

是否顯示 X 軸 

MajorGrid 

大跨度的 X 軸表格虛線線顯示資訊 

DashOff 

虛線中孔間距 

DashOn 

虛線單位長度 

MajorTic 

大跨度的 X 軸刻度資訊 

IsInside 

在 Chart 內部是否顯示 

IsOutSide 

在 Chart 外部是否顯示 

IsOpposite 

在對面的軸上是否顯示 

MinorGrid 

小跨度的 X 軸表格虛線顯示資訊 

MinorTic 

小跨度的 x 軸刻度資訊 

MinSpace 

刻度和軸之間的距離(沒試過) 

Scale 

刻度值的一些設定 

IsReverse 

X 軸的刻度值從高到低還是從低到高 

MajorStep 

大刻度步長 

MajorStepAuto 

是否自動化佈建大刻度步長 

MajorUnit 

大刻度步長單位 

Max 

刻度最大值 

MaxAuto 

根據輸入資料自動化佈建刻度最大值 

Min 

刻度最小值 

MinAuto 

根據輸入資料自動化佈建刻度最小值 

MinGrace 

不清楚,沒試過 

MinorStep 

小刻度步長 

MinorStepAuto 

是否自動化佈建小刻度步長 

MinorUnit 

小刻度單位 

Type 

資料顯示方式 

Liner 

直接現實(自動) 

Date 

按日期方式顯示 

Log 

按指數冪方式顯示 

Ordinal 

順序顯示 

Y2Axis 

第二個 Y 軸座標資訊顯示(具體設定看 X 軸) 

Yaxis 

第一個 Y 軸座標資訊顯示(具體設定看 X 軸) 

BarBase 

在產生柱狀圖的時候設定柱狀是基於 X 軸還是其他軸 

BarType 

柱狀的類型疊加或其他。 

IsFontsScaled 

圖比例變化時候圖表上的文字是否跟著自動縮放 

IsIgnoreInitial 

是否忽略初始值 

IsIgnoreMissing 

是否忽略預設值 

IsPenWidthScaled 

圖比例變化時候圖表上的畫筆的粗細是否跟著自動縮放 

IsShowTitle 

圖表標題是否顯示 

PaneFill 

Pane 的一些填充資訊 

BaseDimension 

縮放比例基數(可以試試效果) 

IsImageMap 

不清楚幹嗎用的 

AxisChaneged 

是否允許自動繪圖(沒試過,一般都 true,動態繪圖) 

CacheDuration 

Cache 儲存時間0 

OutputFormat 

輸出格式 

RenderedImagePath 

輸出路徑 

RenderMode 

輸出模式,不太清楚一般都是 ImageTag,另一個輸出的是亂碼不是圖片。對於圖表而言,一般是三種表現形式:柱狀圖、餅狀圖和點線圖。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.