C# chart 控件操作
Annotations:图表批注集合
ChartAreas:
添加成员ChartArea,
轴Axes
X axis
Y(Value) axis
Title:轴标题
StripLines:自定义条带和线条
TextOreintation:文本方向
Legends:(图表图例)
if (File.Exists(str_tFile)) { myStream = new FileStream(str_tFile, FileMode.Open, FileAccess.ReadWrite); myReader = new BinaryReader(myStream); //while (myReader.PeekChar() > -1) while (myReader.BaseStream.Position < myReader.BaseStream.Length) { chart1.Series["Series1"].Points.AddXY(myReader.ReadUInt16(), myReader.ReadUInt16()); } myReader.Close(); myStream.Close(); textBox1.Text = chart1.Series["Series1"].Points[chart1.Series["Series1"].Points.Count - 1].YValues[0].ToString(); textBox2.Text = chart1.Series["Series1"].Points[chart1.Series["Series1"].Points.Count - 1].XValue.ToString(); } else { MessageBox.Show("还没有该路的测量记录!", "提示消息", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
数据显示
private void chart1_MouseClick(object sender, MouseEventArgs e) //chart1是你建的chart控件,实际名字根据你自己代码里的命名 { HitTestResult hit = chart1.HitTest(e.X, e.Y); if (hit.Series != null) { var xValue = hit.Series.Points[hit.PointIndex].XValue; var yValue = hit.Series.Points[hit.PointIndex].YValues.First(); textBox1.Text = string.Format("{0:F0},{1:F0}", "x:"+xValue, "y:"+yValue);//textbox1也是自己建的一个专门用来显示的内容框,也可以用messagebox直接弹出内容 } else { textBox1.Text="未点击到波形曲线"; } }
数据视图:数据的放大
数据放大需要设置参数:
ChartAreas集合->游标->CursorX->IsUserSelectionEnable=true;
Y轴同理
如果只行选择不放大,则需要将下面的参数设置为false
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable
ChartAreas集合->Axes->X axis->数据视图->ScaleView->Zoomable

浙公网安备 33010602011771号