在多个参数和组的循环内并排创建双变量和方差图我有一个想法,可能需要做些什么,但不确定如何实现它。 我有一个像这样的小样本表(例如)(仅显示4行)
dt
组参数值类PhaseLabel日期
一个X 2 pq z xxxxx
A Y 6 re z xxxxx
A 2.6 y u yyyyy
B X 4 yt z qqqqq
B R 3 er srrrrrrrr
................................................... ......
所以我想为每个组(不同的html文件)创建jrn-> html。 在每个html文件中,都将使用V列表框附加图。 但是,问题是我需要并排(一张双变量和一张变异图)
我可以生成二元图或Variab图,但不能两者都做。 我将代码的骨架放在下面:
dt = Current Data Table();
out_path = "*****"
Summarize( groupid = by(:Group));
Summarize(paramgrp = by(:Parameter));
mydf = {};
For (k=1, k<=N items(groupid),k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", myhtm[k] = V List Box() );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt_month << Bivariate(
Y( :Value),
X( :DATE),
Where( :Parameter == idname),
Where (:Group == groupname),
By(:Group :Parameter),
);
mydf[k] << append( Report( myhtm))
); ///// 2nd for loop end
jrn_df = New Window("Trend Correlation Report", << Journal) ;
mydf[k] << Journal(Freeze All) << show window(0);
jrn_df << Save HTML(outfile);
Close All (Journals, "No Save");
); 1st for loop end
现在,当我想为每组绘制一个双变量枯萎的日记(如此处所示)或我想要一个变异图(如果我只是将var Chart替换为基于类别和相位标签的函数,将Bivariate替换为var Chart时),上面的代码可以很好地工作)。 但是,我想要的是在每个组内(每个参数的第一个for循环(在第二个循环内))双变量和var图表并排。 因此,这意味着说如果我有4个组,那么我应该有4个日志(html文件),如果每个组都说我有5个参数,那么在每个html文件中,我将在2列中总共绘制10个图(第1列表示Bivariate,第2列列说Var Chart)。 我试图在第二个循环中使用H Box,并试图追加两个图,但是它不起作用。
我将非常感谢您的帮助。 如果需要任何其他信息,我可以提供。
数据表图形学脚本编写回复:在多个参数和组的循环内并排创建双变量和变异图我对您的脚本做了一些修改。您将需要通过它研究我所做的事情。基本问题是,当您在平台上使用BY()时,它将为by的每个级别生成单独的报告。
编写的脚本将为每个组生成日记帐。我已经注释掉了显示窗口,并将日记保存为html。我是这样做的,因此从您开始,您将看到不同的期刊。您只需要删除注释,它就可以按照您想要的方式工作。
Names Default To Here( 1 );
dt = Current Data Table();
out_path = "*****";
Summarize( groupid = by( :Group ) );
Summarize( paramgroup = by( :Parameter ) );
mydf = {};
For( k = 1, k <= N Items( groupid ), k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", lb = Lineup Box( N Col( 2 ) ) );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt << Bivariate(invisible,
Y( :Value ),
X( :DATE ),
Where( :group == grp_name ),
By( :Parameter ),
);
vc = Variability Chart(invisible,
Y( :Value ),
X( :Date ),
Std Dev Chart( 0 ),
where( :group==grp_name ),
By( :parameter )
);
// For each value in the By group, there is a separate report
theEnd=.;
try(theEnd=nitems(df_ooc)); if(ismissing(theEnd), theEnd=1);
For( rptGroup = 1, rptGroup <= theEnd, rptGroup++,
IF( theEnd == 1,
lb << append( Report( df_ooc ) );
lb << append( Report( vc ) );
,
lb << append( Report( df_ooc[rptGroup] ) );
lb << append( Report( vc[rptGroup] ) );
);
);
df_ooc << close window;
vc << close window;
); ///// 2nd for loop end
jrn_df = New Window( "Trend Correlation Report", <<JOURNAL></JOURNAL>
该脚本在提供的样本数据上正常运行。
回复:在多个参数和组的循环内并排创建双变量和变异图让我检查一下真实数据,我很快就会回来。 非常感谢吉姆。 你总是很棒!