我有一个图表对象,有 3 个系列。该系列从 C1:C10、D1:D10 和 E1:E10 范围获取 Y 值。该值取决于A1:A10 中的值(例如C1 = A1+6);但我将这些值与 B1:10 中的值(它是对数正态图)绘制成图表。
我正在计算 VBA 中的值。由于 A1:A10 中只有离散数量的点,我想在图表中添加一些额外的兴趣点。因此,如果 A1:A10 包含整数 1 到 10,我想绘制一个十进制数字,如 3.5,而无需向工作表添加任何新行。
环顾四周,我认为这将是使用Extend方法(MSDN - Extend Method)的方法,但我不确定如何:
任何帮助,将不胜感激。谢谢
问题2
您可以使用系列对象上的 value 属性来设置单个系列的值。
但是,在帮助中,它指出一系列值可以是
工作表上的范围或常量值数组,
但不能两者兼而有之。
这意味着,如果您想将系列值指定为范围(例如 C1:C10),那么我认为如果您想在系列中添加数据点,则必须添加单元格。
如果您不想添加单元格,则必须将所有值指定为数组常量。
问题1
要将数据点添加到特定系列,我相信您必须选择该系列,并修改Values和XValues属性。
例子:
将此数据放入 Excel 的“Sheet1”中,并将其绘制为“Chart1”。y1 将是系列 1,y2 将是系列 2,y3 将是系列 3。
A B C D
1 x y1 y2 y3
2 1 10 100 400
3 2 20 200 500
4 3 30 300 600
Run Code Online (Sandbox Code Playgroud)
现在,让我们向 y2 添加一个数据点。
A B C D
1 x y1 y2 y3
2 1 10 100 400
3 2 20 200 500
4 3 30 300 600
5 4 1000
Run Code Online (Sandbox Code Playgroud)
我们必须选择系列(按数字或按名称,在本例中为 2 或“y2”)并将 Value 属性设置为“C2:C5”
'using ranges
Charts("chart1").SeriesCollection("y2").Values = Worksheets("Sheet1").Range("C2:C5")
'using array constant
Charts("chart1").SeriesCollection("y2").Values = Array(100, 200, 300, 1000)
Run Code Online (Sandbox Code Playgroud)
我们还将更改 XValues 属性,以便每个值都有一个 XValue
'using ranges
Charts("chart1").SeriesCollection("y2").XValues = Worksheets("Sheet1").Range("A2:A5")
'using array constant
Charts("chart1").SeriesCollection("y2").XValues = Array(1, 2, 3, 4)
Run Code Online (Sandbox Code Playgroud)
笔记:
我们可以将 Values 作为范围,将 XValues 作为数组常量,反之亦然。
我们还可以将 Values 和 XValues 作为范围或同时作为数组常量。
我们不能将 Values 作为范围和数组常量。
我们不能将 XValues 作为范围和数组常量。
| 归档时间: |
|
| 查看次数: |
16000 次 |
| 最近记录: |