gpt4 book ai didi

ironpython - 以编程方式设置 Spotfire 图形轴范围

转载 作者:行者123 更新时间:2023-12-04 13:05:37 26 4
gpt4 key购买 nike

我正在尝试编写一个简单的 IronPython 脚本,以根据属性控制用户输入在 Spotfire 中设置折线图 x 轴的日期范围。我找不到任何文档或示例,所以这是我的猜测,但它不起作用:

from Spotfire.Dxp.Application.Visuals import LineChart
from Spotfire.Dxp.Application.Visuals import ScaleAxis

plot1= plot1.As[LineChart]()
plot1.XAxis.Min = StartDate
plot1.XAxis.Max = EndDate

我在“编辑脚本”窗口中将可视化和属性控件作为脚本参数输入。有谁知道如何使这项工作?谢谢!

注意:我不想使用缩放 slider 。


更新:我正在做一个 Sum([Column]) OVER (AllPrevious([Date])) 所以我不能过滤掉任何日期来计算 Y。我只需要将它们过滤出 X 轴范围.原始表的结构如下:|产品 |日期 |阶段|

我用公式计算了每个阶段的列:If([相]="A相",1,0)

从本质上讲,该图表显示了随着时间的推移有多少产品经历了每个生产阶段,因此我需要始终知道每个阶段的完成日期,以计算该阶段在任何特定日期的产品数量。我只想在 X 轴上看到某个日期范围,因为我在其他 2 个表格的上方/下方放置了一些其他图表来比较销售额和成本,并且根据每个阶段的产品数量更容易分析轴显示相同的日期。抱歉,我无法上传图片,所以我希望这是有道理的。

我们只关心最近的销售/成本,我使用销售和成本表的按需数据筛选器限制这些日期,以便图表自动显示我想要的内容。现在唯一的问题是过滤产品数量图的范围,因为阶段列中的日期可以追溯到几年前,我们需要知道每个阶段的产品总数,但我们不想看到该图从一开始......我可以通过缩放 slider 或对该图表中的最小值/最大值进行硬编码来实现这一点,但我真的希望有一些自动化的东西,这样我们就不必不断地调整它。

最佳答案

我找到了一个自动化解决方案,您可以将其设置为使用或不使用缩放 slider 。您必须将 StartDate 和 EndDate 属性作为脚本参数输入,并且还必须将每个可视化作为脚本参数输入(因此我的脚本总共需要 5 个)。代码发布在下面 - 希望这对某人有帮助!

没有缩放 slider :

#Import the necessary namespaces
from Spotfire.Dxp.Application.Visuals import VisualContent
from Spotfire.Dxp.Application.Visuals import AxisRange
from Spotfire.Dxp.Data import DataPropertyClass

#Define variables
min = Document.Properties["StartDate"]
max = Document.Properties["EndDate"]

#Cast visual as specific plot type
#Note use of VisualContent for any chart type
plot1= plot1.As[VisualContent]()
plot2= plot2.As[VisualContent]()
plot3= plot3.As[VisualContent]()

#Set visualization parameters
plot1.XAxis.Range = AxisRange(min,max);
plot2.XAxis.Range = AxisRange(min,max);
plot3.XAxis.Range = AxisRange(min,max);

使用缩放 slider :

#Import the necessary namespaces
from Spotfire.Dxp.Application.Visuals import VisualContent
from Spotfire.Dxp.Application.Visuals import AxisRange
from Spotfire.Dxp.Data import DataPropertyClass

#Define variables
min = Document.Properties["StartDate"]
max = Document.Properties["EndDate"]

#Cast visual as specific plot type
#Note use of VisualContent for any chart type
plot1= plot1.As[VisualContent]()
plot2= plot2.As[VisualContent]()
plot3= plot3.As[VisualContent]()

#Set visualization parameters
plot1.XAxis.ManualZoom = True
plot2.XAxis.ManualZoom = True
plot3.XAxis.ManualZoom = True
plot1.XAxis.ZoomRange = AxisRange(min,max);
plot2.XAxis.ZoomRange = AxisRange(min,max);
plot3.XAxis.ZoomRange = AxisRange(min,max);

关于ironpython - 以编程方式设置 Spotfire 图形轴范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com