VB.net chart 控件使用

  1. import namespace

Imports System.Windows.Forms.DataVisualization.Charting

找个namespace包含用于图表 Windows 窗体[vb.net教程](https://www.xin3721.com/eschool/VBNetxin3721/)控件方法和属性(如chart控件)
  1. 设置chart控件
    在这里插入图片描述

    a. 在ChartArea属性里,添加ChartArea1, ChartArea2.

    b. 设置align相关属性。

    ![在这里插入图片描述](https://img-blog.csdn.net/20170425215651790?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpaGFvNTU1NTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center#pic_center)
    
  2. 使用代码配置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"
    
    
     minValue = DateTime.Now
     '30预览区域 
     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()
    
    
     Chart1.Series.Clear()
    
    
     Dim series1 As New Series("Read Count")
     series1.ChartType = SeriesChartType.Line         '设置Series的绘图类型
     series1.BorderWidth = 1
     series1.Color = Color.Red
     series1.XValueType = ChartValueType.Time
    
     series1.ChartArea = "ChartArea1"
    
     Dim series2 As New Series("Read Count2")
     series2.ChartType = SeriesChartType.Line         '设置Series的绘图类型
     series2.BorderWidth = 1
     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
    
  3. 添加points

    For Each ptA In Chart1.ChartAreas
         Dim ptSeries As Series
         '对每series进行数据扫描 
         For Each ptSeries In Chart1.Series
             ptSeries.Points.AddXY(x y)
         Next ptSeries
     Next
    
  4. 动态修改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)
     End While
    
    
     Dim ptA As ChartArea
     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()
     Next
    
  5. 清空数据

    Chart1.Series(0).Points.Clear()

效果图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值