【问题标题】:Chart fails to display more than 16384 data points图表无法显示超过 16384 个数据点
【发布时间】:2017-11-01 11:36:31
【问题描述】:

我正在创建一个图表,其中“.Values”基于一个名为“ReliabilityNumber”的数组,该数组来自另一个模块。在获取正确的数据点方面一切正常。但只要数组中的元素数量(图表中的“时间步长”)超过 16384,则图表中不会显示高于此数字的数据点。

此外,如果元素数量超过 65536,则不再显示图表。

我的看法是,它与最大列数(Excel 2007 及更高版本为 16384)和最大行数(Excel 版本 2003 及更早版本为 65536)有关。但我无法弄清楚它是什么。我的代码如下(我在工作中使用 Excel 2010,在家里使用 2016,问题出在 2010 年。2016 年还没有控制这个问题):

Dim ReliabilityChart As Object
Dim ReliabilitySeries As Series

Set ReliabilityChart = ActiveSheet.ChartObjects.Add(Left:=300, Width:=500, Top:=10, Height:=300)
    With ReliabilityChart
    .Chart.Type = xlLine
    .Left = 600
    .Width = 800
    .Top = 50
    .Height = 300
    .Name = "ReliabilityChart1"

    Set ReliabilitySeries = .Chart.SeriesCollection.NewSeries
        With ReliabilitySeries
            .Values = ReliabilityNumber
            .Name = "Reliability on timestep #"
        End With

End With

ActiveSheet.ChartObjects("ReliabilityChart1").Activate
With ActiveChart
    .ChartType = xlLine
    .ChartTitle.Text = "Reliability over time"
    .Axes(xlCategory).TickMarkSpacing = 1600
    .Axes(xlCategory).TickLabelSpacing = 1600
    .Axes(xlValue).MaximumScale = 1
    .Axes(xlValue).TickLabels.NumberFormat = "0%"
    .Axes(xlCategory).HasTitle = True
    .Axes(xlCategory).AxisTitle.Text = "Timestep (#)"
    .Axes(xlValue).HasTitle = True
    .Axes(xlValue).AxisTitle.Text = "Reliability (%)"
End With

Sheets(1).Range("E10").Select

【问题讨论】:

    标签: arrays excel charts datapoint vba


    【解决方案1】:

    我认为您的问题与用于绘制图表系列的 SERIES 公式的长度有关。如果将数组加载到工作表中并将其用作系列的源,它应该可以正常工作。

    【讨论】:

    • 我不明白你所说的 SERIES 公式是什么意思。但是,我认为使用数组而不是范围的优点是我不需要工作表中的数据点,这样可以节省计算速度。特别是如果使用大量数据点 (>100.000)。
    • 图表上绘制的每个系列都是通过 SERIES 公式完成的 - 当您选择系列时,您会在公式栏中看到它,除非您使用大型数组 - 然后您会看到一条错误消息.如果使用数组,则必须将文字值放入公式中的数组常量中。如果您尝试在图表上绘制这么多数据,我认为您至少总会遇到性能问题。
    猜你喜欢
    • 2019-04-09
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多