1. import namespace
Imports System.Windows.Forms.DataVisualization.Charting
找个namespace包含用于图表 Windows 窗体控件方法和属性(如chart控件)
2. 设置chart控件


a. 在ChartArea属性里,添加ChartArea1, ChartArea2.
b. 设置align相关属性。



3. 使用代码配置ChartArea
a. 已添加ChartArea。
这种情况直接设置
-
Chart1.ChartAreas(0).AxisX.Title = "Length (nt)" '设置ChartArea里坐标轴标题
-
Chart1.ChartAreas(0).AxisY.Title = "Read count"
-
-
-
Chart1.ChartAreas(1).AxisX.Title = "Length (nt)" '设置ChartArea里坐标轴标题
-
Chart1.ChartAreas(1).AxisY.Title = "Read count"
-
-
-
-
-
maxValue = minValue.AddSeconds(30)
-
-
-
Chart1.ChartAreas(0).AxisX.Minimum = minValue.ToOADate()
-
Chart1.ChartAreas(0).AxisX.Maximum = maxValue.ToOADate()
-
-
-
Chart1.ChartAreas(1).AxisX.Minimum = minValue.ToOADate()
-
Chart1.ChartAreas(1).AxisX.Maximum = maxValue.ToOADate()
-
-
-
-
-
-
Dim series1 As New Series("Read Count")
-
series1.ChartType = SeriesChartType.Line '设置Series的绘图类型
-
-
series1.Color = Color.Red
-
series1.XValueType = ChartValueType.Time
-
-
series1.ChartArea = "ChartArea1"
-
-
Dim series2 As New Series("Read Count2")
-
series2.ChartType = SeriesChartType.Line '设置Series的绘图类型
-
-
series2.Color = Color.Blue
-
series2.XValueType = ChartValueType.Time
-
-
series2.ChartArea = "ChartArea2"
-
-
Chart1.Series.Add(series1)
-
Chart1.Series.Add(series2)
b. 未添加ChartArea
在上一段代码之前添加如下代码
-
Chart1.ChartAreas.Clear() '清空ChartArea
-
Dim ChartAreas1 As New ChartArea("ChartArea1") '定义新的ChartArea
-
Dim ChartAreas2 As New ChartArea("ChartArea2") '定义新的ChartArea
-
Chart1.ChartAreas.Add(ChartAreas1) '将新定义的ChartArea加入Chart1
-
Chart1.ChartAreas.Add(ChartAreas2) '将新定义的ChartArea加入Chart1
4. 添加points
-
For Each ptA In Chart1.ChartAreas
-
-
-
For Each ptSeries In Chart1.Series
-
ptSeries.Points.AddXY(x y)
-
-
5. 动态修改X轴坐标(例如:随时间变化)
-
Dim timeStamp As DateTime = DateTime.Now
-
Dim removeBefore As Double = timeStamp.AddSeconds((CDbl(15) * -1)).ToOADate()
-
'remove oldest values to maintain a constant number of data points
-
While ptSeries.Points(0).XValue < removeBefore
-
ptSeries.Points.RemoveAt(0)
-
-
-
-
-
For Each ptA In Chart1.ChartAreas
-
ptA.AxisX.Minimum = ptSeries.Points(0).XValue
-
ptA.AxisX.Maximum = DateTime.FromOADate(ptSeries.Points(0).XValue).AddSeconds(30).ToOADate()
-
6. 清空数据
Chart1.Series(0).Points.Clear()
效果图


