图表无法显示超过 16384 个数据点
Chart fails to display more than 16384 data points
我正在创建一个图表,其中“.Values”基于一个名为 'ReliabilityNumber' 的数组,该数组来自另一个模块。在获得正确的数据点方面一切正常。但是当数组中的元素数('timesteps' 图表中)超过 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
我认为您的问题与用于绘制图表系列的 SERIES 公式的长度有关。如果您将数组加载到工作表中并将其用作系列的来源,它应该可以正常工作。
我正在创建一个图表,其中“.Values”基于一个名为 'ReliabilityNumber' 的数组,该数组来自另一个模块。在获得正确的数据点方面一切正常。但是当数组中的元素数('timesteps' 图表中)超过 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
我认为您的问题与用于绘制图表系列的 SERIES 公式的长度有关。如果您将数组加载到工作表中并将其用作系列的来源,它应该可以正常工作。