namespace Sample { partial class Form1 { /// <summary> /// 設計工具所需的變數。 /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// 清除任何使用中的資源。 /// </summary> /// <param name="disposing">如果應該處置 Managed 資源則為 true,否則為 false。</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form 設計工具產生的程式碼 /// <summary> /// 此為設計工具支援所需的方法 - 請勿使用程式碼編輯器 /// 修改這個方法的內容。 /// </summary> private void InitializeComponent() { System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // chart1 // chartArea1.Name = "ChartArea1"; this.chart1.ChartAreas.Add(chartArea1); legend1.Name = "Legend1"; this.chart1.Legends.Add(legend1); this.chart1.Location = new System.Drawing.Point(3, 4); this.chart1.Name = "chart1"; this.chart1.Size = new System.Drawing.Size(1137, 585); this.chart1.TabIndex = 0; this.chart1.Text = "chart1"; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1152, 592); this.Controls.Add(this.chart1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion private System.Windows.Forms.DataVisualization.Charting.Chart chart1; } }
程式碼:
using System; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; namespace Sample { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private Series _series = new Series(); private void Form1_Load(object sender, EventArgs e) { //設定標籤顯示數值 _series.IsValueShownAsLabel = true; //設定每個點的圖示 _series.MarkerStyle = MarkerStyle.Circle; //每個點的大小 _series.MarkerSize = 6; _series.ChartType = SeriesChartType.Line; chart1.Series.Add(_series); //讓使用者可以選取想看得範圍 chart1.ChartAreas[0].CursorY.IsUserEnabled = true; chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true; //設定選取捲軸 chart1.ChartAreas[0].CursorX.AutoScroll = true; chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true; chart1.ChartAreas[0].AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll; chart1.ChartAreas[0].AxisX.ScaleView.Zoom(0, 30); Parallel.For(0, 1025, index => { _series.Points.AddY(Math.Round(Math.Log(Math.Pow(index + 1, 2), 4.5), 3)); }); } } }
執行結果:
加入捲軸樣式:
使用者選取範圍: