如何在脚本中访问/更改箱线图颜色你好,
我正在编写脚本来自动收集数据并制作图表......
我的问题是,我得到的图表具有不同数量的箱形图(所附示例中的 26 个框),我想更改箱形图属性(填充颜色、线条颜色、透明度...),但我不知道如何更改一次或单独访问 26 个箱线图(但通过脚本)...
我手动检查,发现有几个箱线图对象:我什至手动修改了箱线图(50)的颜色,但是当我查看脚本并尝试修改它时,它不起作用......
所以我的问题是:如何询问并获取所有箱线图的参考?
以及如何更改它们的属性(全部)?
非常感谢。
PS:为了方便起见,我提供了一个图表和我使用的原始表格(脚本嵌入在数据表中)。 我得到的脚本也被添加了。

Graph Builder(
Show Legend( 0 ),
Y Group Title Orientation( "Horizontal" ),
Y Group Level Orientation( "Horizontal" ),
Variables( X( :QVoltages ), Y( :Value ) ),
Elements(
Points( X, Y, Legend( 1 ), Jitter( 1 ) ),
Box Plot(
X,
Y,
Legend( 3 ),
Jitter( 1 ),
Outliers( 1 ),
Box Style( "Outlier" )
)
),
SendToReport(
Dispatch(
{},
"QVoltages",
ScaleBox,
{Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 ),
Rotated Labels( "Vertical" )}
),
Dispatch(
{},
"Ron_1p5V [Ohm]",
ScaleBox,
{Min( 40 ), Max( 100 ), Inc( 10 ), Minor Ticks( 1 ),
Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Value" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(
Box Plot Seg( "Box Plot (50)" ),
{Box Style( "Outlier" ), Line Color( "Dark Red" ), Line Width( 2 ),
Fill Color( "Red" ), Transparency( 0.5 )}
)}
)
)
)回复:如何在脚本中访问/更改箱线图颜色非常感谢大家!
我现在已经准备好做一些有趣的事情了:)
回复:如何在脚本中访问/更改箱线图颜色这些元素通过它们在报告结构中的条目的绝对位置来引用,或者通过来自报告结构内的固定的、唯一的点的相对引用来引用。
["图形生成器"][TextEditBox(1)]<
此示例指向图形生成器大纲框,然后引用大纲框下的第一个文本编辑框。
图形生成器输出的简单性仅具有一个轮廓框,但在其他情况下,存在多个轮廓框,对特定的引用将在不同的路径上取消引用。
;
回复:如何在脚本中访问/更改箱线图颜色一旦您找到了感兴趣的显示框类型(例如,“文本编辑框 ()”),您就可以在脚本索引中搜索该类型(请参阅上面 Jim 的帖子)。 然后您将看到哪些消息是相关的以及(通常)一个示例。

回复:如何在脚本中访问/更改箱线图颜色谢谢伊恩,
我想通过你的解释我可以在简单的图表中找到我的方法。
我浏览了文档,我必须说这是很多信息,而且并不总是容易找到我的方法......但我一直在练习。
例如,在我附加的示例中,假设我想更改某些内容,例如图形的标题以及 X 轴和 Y 轴的标题。 我知道你会说:通过常规方式更改它......但假设我想通过树结构访问它们(看附图)。
我懂了 :
TextEditBox(1) 下的“更改标题”
TextEditBox(2) 下的“更改 X 标题”
TextEditBox(3)下的“值”
我如何获取这些字符串并通过树修改它们?
再次感谢 !!!!!
回复:如何在脚本中访问/更改箱线图颜色谢谢伊恩,
我想通过你的解释我可以在简单的图表中找到我的方法。
我浏览了文档,我必须说这是很多信息,而且并不总是容易找到我的方法......但我一直在练习。
例如,在我附加的示例中,假设我想更改某些内容,例如图形的标题以及 X 轴和 Y 轴的标题。 我知道你会说:通过常规方式更改它......但假设我想通过树结构访问它们(看附图)。
我懂了 :
TextEditBox(1) 下的“更改标题”
TextEditBox(2) 下的“更改 X 标题”
TextEditBox(3)下的“值”
我如何获取这些字符串并通过树修改它们?
再次感谢 !!!!!
回复:如何在脚本中访问/更改箱线图颜色谢谢伊恩,
我想通过你的解释我可以在简单的图表中找到我的方法。
我浏览了文档,我必须说这是很多信息,而且并不总是容易找到我的方法......但我一直在练习。
例如,在我附加的示例中,假设我想更改某些内容,例如图形的标题以及 X 轴和 Y 轴的标题。 我知道你会说:通过常规方式更改它......但假设我想通过树结构访问它们(看附图)。
我懂了 :
TextEditBox(1) 下的“更改标题”
TextEditBox(2) 下的“更改 X 标题”
TextEditBox(3)下的“值”
我如何获取这些字符串并通过树修改它们?
回复:如何在脚本中访问/更改箱线图颜色是的,吉姆医生的参考资料中有这一切。
当您启动 JMP 平台时,考虑由两层组成的结果窗口会很有帮助:“分析层”(“红色三角形”选项)和“报告层”(组成内容的显示框的层次结构)的窗口)。 如果右键单击最顶部轮廓框的小显示三角形(在本例中,标题为“图形生成器”),您应该会看到“编辑 > 显示树结构”选项,其中显示涉及哪些显示框。
回复:如何在脚本中访问/更改箱线图颜色有关所有这些的主要文档可以在以下位置找到:
帮助==>书籍==>脚本指南
和
帮助==>脚本索引回复:如何在脚本中访问/更改箱线图颜色非常感谢伊恩。
你的剧本完全符合我的要求!!!!
我可以要求进一步解释吗? 我看到您介绍了:1/报告。 2/ 框架盒(1)。 3/ 段计数。 4/ 查找段...
这意味着您了解这些对象或属性......
问题是:就我而言,如果我必须弄清楚图表是如何组织的,我应该看哪里?有没有明确解释的文档? (例如,在 matlab 中,它们用于每个对象处理程序、引用和父/子对象...因此很容易滚动树并找到方法...)。
再次,非常感谢!!!!
回复:如何在脚本中访问/更改箱线图颜色使用你的表,你可以做这样的事情:
gb = Graph Builder(
Show Legend( 0 ),
Y Group Title Orientation( "Horizontal" ),
Y Group Level Orientation( "Horizontal" ),
Variables( X( :QVoltages ), Y( :Value ) ),
Elements(
Points( X, Y, Legend( 1 ), Jitter( 1 ) ),
Box Plot( X, Y, Legend( 3 ), Jitter( 1 ), Outliers( 1 ), Box Style( "Outlier" ) )
),
SendToReport(
Dispatch(
{},
"QVoltages",
ScaleBox,
{Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 ), Rotated Labels( "Vertical" )}
),
Dispatch(
{},
"Value",
ScaleBox,
{Min( 40 ), Max( 100 ), Inc( 10 ), Minor Ticks( 1 ), Show Major Grid( 1 ), Show Minor Grid( 1 ),
Inside Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Value" )} )
)
);
gbRep = Report( gb );
nbp = gbRep[FrameBox( 1 )] << segCount("Box Plot Seg");
for(n=1, n<=nbp, n++,
s = gbRep[FrameBox( 1 )] << FindSeg( Box Plot Seg(n) );
s << Fill Color( "Green" );
);
// Uncomment the line beloe to see what other messages a 'BoxPlotSeg()' understands
// Show Properties( s );