【问题标题】:How to plot chart values outside axis maximum?如何在轴最大值之外绘制图表值?
【发布时间】:2012-06-19 16:59:49
【问题描述】:

在早期版本的 Excel 中,您可以创建一个注册表项,以允许 Excel 使用 QFE_Bonn dword=1 显示将位于轴最小值/最大值之外的值/标签。这是我用于 Excel 2003 的:Plot lines that contain labels disappear ...)

我在 Excel 2010 (Office Pro Plus) 中找不到类似的补丁或本机功能。任何想法如何实现,或者 MS 是否完全删除了此功能?

这里是 Excel 2003 中示例的屏幕截图。我创建了一系列数据,这些数据一致超过了 y 轴最大值。该系列的颜色填充已被移除

要完成外观,请移除系列的边框,使其看起来不可见。然后用相关数据替换系列的值标签。

【问题讨论】:

    标签: excel charts dword


    【解决方案1】:

    有一种使用 DataLabels.Left 属性的解决方法,该属性可以相对于 ChartArea 定位 DataLabel。

    这是一个示例 VB 解决方案:

    sub FakeLabels()
    Dim sF As Double
    Dim lOff As Double
    Dim p As Double
    
    ActiveSheet.ChartObjects(1).Activate
    
    With ActiveChart
        For sF = 1 To .SeriesCollection.Count
            If .SeriesCollection(sF).Name = "FakeSeries" Then
                 'Define the lOff variable by adding 100, or some other value
                 lOff = .SeriesCollection(sF).Points(1).DataLabel.Left + 100
                 For p = 1 To .SeriesCollection(sF).Points.Count
                     .SeriesCollection(sF).Points(p).DataLabel.Left = lOff               
                 Next p
            End If
        Next sF
    End With
    

    它产生相同的结果,唯一的新要求是将“虚拟”系列的值保持在图表的轴最小值/最大值内。

    令人惊喜的是,重新调整图表大小似乎不会影响标签的相对位置。

    2013 年 9 月 25 日更新

    自从第一次提出这个问题以来,我一直使用“文本框”方法。但是管理标签位置和文本框位置之间的相互作用非常笨拙,它们的PlotArea 的相对位置即何时使用.InsideWidth.Width.InsideLeft.Left 和是否需要对点值进行任何形式的享乐“调整”,似乎总是如此,它们永远不会完全对齐。

    在阅读 PPT 对象模型参考以进行其他一些与图表相关的查询时,我 stumbled upon this property 似乎复制了以前的修补程序/注册表黑客的功能。

    .ShowDataLabelsOverMaximum

    【讨论】:

      猜你喜欢
      • 2014-03-24
      • 1970-01-01
      • 2013-01-23
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多