与标签(例如 5/10/15)相比,以不均匀值(例如 3)启动 Excel 轴

与标签(例如 5/10/15)相比,以不均匀值(例如 3)启动 Excel 轴

当我在 Excel x 轴上使用间隔 5 作为标签时,Excel 将使用 0、5、10 作为标签。

当起始值为 3 时,Excel 将使用 3、8、13 作为标签。

我怎样才能继续使用 5、10、15?

答案1

据我所知,这在 Excel 中无法实现。但有一种解决方法可以很好地模拟这一点。设置一个系列,其 x 值等于您想要用作刻度标签的值,y 值等于图表底部的 y。(稍后,如果您发现可能需要更改此 ymin 值,请在此范围内的每个单元格中使用公式来引用您修改的单个单元格。您甚至可以设置一个用户定义函数来检索该值Axis.MinimumScale)。

然后添加该系列,并使用相同的 x 值为其添加标签。将标签放在点下方。我建议您使用XY图表标签机作者:Rob Bovey(他的其他实用工具也值得一试)。对于系列,请选择无线条和一个您选择的标记,最有可能是垂直线。微调格式。

我经常使用此技巧来制作任何类型的自定义轴刻度标签,例如逆温度刻度等。

使用了一段时间后,我觉得我更详细地了解了Jon Peltier 的网站。我强烈推荐他的网站,其中包含与 Excel 图表相关的任何内容。

答案2

尽管听起来可能很荒谬和侮辱,但我并不是想这么说:

起始值应该只是 0。否则,您使用的任何图表的起始值(您没有在问题中指定,这很难帮助您,而且我的声誉也不足以发表评论)应该是您期望找到的最低可能值,四舍五入到最接近的间隔。所以如果说Min(possibleValues) = 13你的起始值应该保持为 0,或者设置为 10。您可以使用模数找到它:

可能值 = {33, 21, 66, 35, 23, 40}

x = Min(possibleValues)
x = 21
y = x % interval    #You stated interval = 5
y = 1
StartingValue = x-y
StartingValue = 20

请注意,重要的行已被注释掉,因此图表从零开始:

未修改

现在用我们的线设置图表轴的属性:

修改的

代码如下:

Sub CreateChartWithStartValue()
    Dim x, y, interval As Integer
    Dim chart As Object
    Dim rng As Range
    
    Set rng = ActiveSheet.Range("A2:A7")
    Set chart = ActiveSheet.Shapes.AddChart2
    chart.chart.SetSourceData Source:=rng
    chart.chart.ChartType = xlBarClustered
    interval = 5
    x = Application.WorksheetFunction.Min(rng)
    y = x Mod interval
    chart.chart.Axes(xlValue).MinimumScale = x - y
End Sub

如果这没有意义,请不要否决答案,而是发表评论,以便我们澄清。

相关内容