如何以编程方式更改 Spotfire 中列值行引用的列?

How do I programmatically change the column referenced by Column Values Line in Spotfire?

我正在尝试在 Spotfire 中创建一个按钮,它将图表中的 Y 轴从对数刻度更改为线性刻度。我在图表中还有一条线是根据数据 table 中的列值绘制的,因此当 Y 轴刻度发生变化时,我还需要将线更改为对数刻度。

这是属性我要更改的图片:

这是我目前拥有的代码片段:

#import namespaces
from Spotfire.Dxp.Application.Visuals import VisualContent
from Spotfire.Dxp.Application.Visuals import AxisRange
from Spotfire.Dxp.Application.Visuals import FittingModels

#set variables
oil = oil_rate_time.As[VisualContent]()
islog = oil.YAxis.UseLogTransform

if islog:
    oil.YAxis.UseLogTransform = False
else:
    oil.YAxis.UseLogTransform = True

oil.ColumnValuesLine.YColumnReference

最后一行给我的错误是 ColumnValuesLine 不是 ScatterPlot 对象中的一个属性。

实际错误文本: (回溯(最后一次通话): 文件“Spotfire.Dxp.Application.ScriptSupport”,行未知,在 ExecuteForDebugging 中 文件“”,第 25 行,位于 AttributeError: 'ScatterPlot' 对象没有属性 'ColumnValuesLine')

有谁知道为什么尽管在 Spotfire 中却找不到 ColumnValuesLine API?

感谢您的帮助!

如果有人想知道答案,我就是这样做的:

#import namespaces
from Spotfire.Dxp.Application.Visuals import *
from Spotfire.Dxp.Data import *

#set variables
oil = oil_rate_time.As[ScatterPlot]()
islog = oil.YAxis.TransformType
tctable = tc_Table

if islog == AxisTransformType.None:
    oil.YAxis.TransformType = AxisTransformType.Log10
    oil.FittingModels[0].YColumnReference = tctable.Columns[18]
else:
    oil.YAxis.TransformType = AxisTransformType.None
    oil.FittingModels[0].YColumnReference = tctable.Columns[9]