VB2010 设置对数刻度间隔

VB2010 Setting logarithmic scale intervals

我正在开发一个金融应用程序,我需要在其中以 Y 轴上的对数刻度的图表显示数据。除了时间间隔外,一切正常。具有以下内容:

chart.ChartAreas(0).AxisY.IsLogarithmic = True
chart.ChartAreas(0).AxisY.LogarithmBase = 10
chart.ChartAreas(0).AxisY.Interval = 1

chart.ChartAreas(0).AxisY.Minimum = CalcMinYVal(minYVal)

我得到 CalcMinYVal 乘以 10^0,10^1,10^2,10^3 等 Y 轴值。

我想让 Y 轴值增加 1。我怎样才能让间隔真正为 1?

您可以启用 MinorGrid 属性

chart.ChartAreas(0).AxisY.MinorGrid = True

显示 10 的幂之间的水平线,如下所示。

但是在显示每个细分的值时存在限制。它们只能通过使用 LabelStyleInterval 属性 以固定间隔出现。

比如显示10个细分,可以设置:

Chart.ChartAreas(0).AxisY.LabelStyle.Interval = 0.1

MinorGrid的横线数可以通过Interval来控制 属性:

Chart.ChartAreas(0).AxisY.MinorGrid.Interval = 1

并且可以使用 format 属性:

对标签的值进行四舍五入
Chart.ChartAreas(0).AxisY.LabelStyle.Format = "{0.0}"