代码之家  ›  专栏  ›  技术社区  ›  gubbfett

VB.net重新绘制/刷新/重新计算图表

  •  0
  • gubbfett  · 技术社区  · 11 年前

    我想有很多答案,但我只找到了关于数据更新的答案,而不是图表本身。

    在我的情况下,我有一个每X分钟更新一次的图表。当程序启动时,它会在文件中查找一些值。假设只有一个值(在这种情况下是一列),这个值是20。然后它显示它很好,最多30个。

    当它刷新时,我会做这样的事情

    TheDiagram.Series.Clear()
    Dim Serie_Value As New Series
    With Serie_Value
        .Name = "MySerie"
        .ChartType = SeriesChartType.StackedColumn
        .Color = Color.Green
        With .Points
            .AddXY("MyName", theValueFromFile)
        End With
    End With
    TheDiagram.Series.Add(Serie_Value)
    

    在这种情况下,我们说现在的值是60,那么y轴仍然是30作为最大值,所以我看不到列的末尾(顶部)。 我如何告诉图表/图表区域“像第一次渲染一样重新绘制自己”?

    3 回复  |  直到 11 年前
        1
  •  3
  •   Norcel    9 年前

    要重置自动缩放,只需在将点加载到图表中后使用此选项。

    Chart1.ResetAutoValues()
    
        2
  •  0
  •   Stefan Orie    11 年前

    你试过自动缩放y轴吗?

    ' Auto axis scale
    Chart1.ChartAreas("ChartArea1").AxisY.Minimum = [Double].NaN
    Chart1.ChartAreas("ChartArea1").AxisY.Maximum = [Double].NaN
    

    您应该在每次刷新图表时设置这些值,然后轴应该自动调整。

        3
  •  0
  •   Carlos Borau    7 年前

    自.NET 4.0以来可用: Chart1.ChartAreas[0].RecalculateAxesScale();