ZedGraph控制元件常用方法和屬性總結
阿新 • • 發佈:2018-12-05
最近在WPF使用ZedGraph控制元件,發現這個控制元件的功能很強大,據說採用了雙緩衝機制來繪製圖,只要控制好顯示的幀速,能夠顯示速度較快的動態圖。
參考:https://blog.csdn.net/qq_26093511/article/details/51329059
1、常用屬性設定
常用的屬性設定包括X,Y軸範圍、刻度大小設定、滑鼠滾動放大縮小控制等。
zedGraphControl2.IsShowPointValues = true; //滑鼠經過圖表上的點時是否氣泡顯示該點所對應的值 zedGraphControl2.IsZoomOnMouseCenter = true;//使用滾輪時以滑鼠所在點進行縮放還是以圖形中心進行縮放 true為以滑鼠所在點進行縮放 zedGraphControl2.GraphPane.Title.Text = "Spectrogram"; zedGraphControl2.GraphPane.XAxis.Title.Text = "WaveLength/nm"; zedGraphControl2.GraphPane.YAxis.Title.Text = "Intensity"; //設定X、Y軸範圍 zedGraphControl2.GraphPane.XAxis.Scale.Min = 0;//MainWindow.waveData[1] - 3; //X軸最小值0 x軸的兩邊留出一定餘量 zedGraphControl2.GraphPane.XAxis.Scale.Max = 512;// MainWindow.waveData[512] + 3; zedGraphControl2.GraphPane.YAxis.Scale.Min = 0; zedGraphControl2.GraphPane.YAxis.Scale.Max = 4000; //這裡要改成動態的,大小隨波形改變 // zedGraphControl2.GraphPane.YAxis.Scale.MaxAuto = true;//根據數值的大小自動的設定Y軸的大小 //設定X、Y軸的刻度大小 zedGraphControl2.GraphPane.XAxis.Scale.MinorStep = 5; //X軸小刻度 小跨度 zedGraphControl2.GraphPane.XAxis.Scale.MajorStep = 50; //X軸顯示的最大大刻度 // zedGraphControl2.GraphPane.YAxis.Scale.MinorStep = 100; //zedGraphControl2.GraphPane.YAxis.Scale.MajorStep = 1000; zedGraphControl2.GraphPane.YAxis.Scale.MajorStepAuto = true;//自動設定Y軸的大刻度大小 zedGraphControl2.GraphPane.YAxis.Scale.MinorStepAuto = true;//自動設定Y軸的小刻度大小 zedGraphControl2.GraphPane.YAxis.Scale.IsUseTenPower = false;//Y軸不以10的冪顯示 zedGraphControl2.AxisChange(); //將X、Y軸的對面座標軸隱藏 zedGraphControl2.GraphPane.XAxis.MajorTic.IsOpposite = false; zedGraphControl2.GraphPane.YAxis.MajorTic.IsOpposite = false; zedGraphControl2.GraphPane.YAxis.MinorTic.IsOpposite = false; zedGraphControl2.GraphPane.XAxis.MinorTic.IsOpposite = false; //zedgraph顯示參考線/輔助線/網格線 zedGraphControl2.GraphPane.XAxis.MajorGrid.IsVisible = true; zedGraphControl2.GraphPane.YAxis.MajorGrid.IsVisible = true; //控制x,y軸 zedGraphControl2.IsEnableHZoom = false;//不允許橫向縮放
2、常用方法設定
這個控制元件的常用方法有儲存圖片、列印預覽、列印、複製圖表到剪貼簿、圖表自適應等。
//儲存圖片 private void Save_image_Click(object sender, RoutedEventArgs e) { zedGraphControl2.SaveAs();//開啟影象另存為對話方塊 此處呼叫zedgraph控制元件的內部功能 } //列印預覽 private void PrintPreview_Click(object sender, RoutedEventArgs e) { zedGraphControl2.DoPrintPreview(); } //列印當前圖片 private void Print_Click(object sender, RoutedEventArgs e) { zedGraphControl2.DoPrint(); } //列印設定對話方塊 private void PrintPageSetup_Click(object sender, RoutedEventArgs e) { zedGraphControl2.DoPageSetup(); } //複製圖片到剪貼簿 private void CopyImage_Click(object sender, RoutedEventArgs e) { zedGraphControl2.Copy(true); }
3、新增標籤功能設定
給要繪製的曲線的某個點上新增一個標籤。
LineItem ADCurve= zedGraphControl2.GraphPane.AddCurve("AD", frameList, Data .adLineColor , SymbolType.None);//生成曲線和圖例 ,標籤加到這條線上的某個點 PointPair pt = ADCurve.Points[maxXValue];//獲取線條上最大值點座標 maxXValue代表第幾個元素 double showX = 0; string label = showX.ToString("f2") + "," + maxYValue.ToString("f2"); TextObj text = new TextObj(label, pt.X, pt.Y - 10, CoordType.AxisXYScale, AlignH.Left, AlignV.Center);//設定標籤要顯示的內容和位置 text.FontSpec.Border.IsVisible = true;//新增標籤的邊框 text.FontSpec.Fill.IsVisible = true;//對標籤填充顏色 text.FontSpec.Fill.Color = System.Drawing.Color.WhiteSmoke; text.FontSpec.Angle = 0;//橫向顯示 zedGraphControl2.GraphPane.GraphObjList.Add(text);//標籤新增到圖上