選擇多列並在腳本中繪製直方圖你好,
我編寫了一個腳本來從表中選擇兩列並繪製直方圖。 我希望能夠選擇任意數量的列並為選定的列繪製直方圖。 有人可以幫助我實現這一目標嗎? 我在下面列出了我的腳本。 謝謝
dt =打開( “A.csv” );
xvar= 。 ;
yvar = 。 ;
贏=新窗戶( “選擇兩個變量” ,
<<莫代爾,
<<驗證時(
// 要求用戶在單擊“確定”之前選擇兩個變量
展示(xvar,yvar);
如果(不見了(xvar)|不見了(伊瓦爾),
0 , // 如果 xvar 或 yvar 丟失,則單擊“確定”時不執行任何操作
1
);
),
文本框( " 選擇兩個數字列。 ” ),
H 列錶框(
文本框( 《選擇第一》 ),
x =列列錶框(
德特, // 數據表引用
全部, // 顯示數據表中的所有列
xvar = (x <<被選中)[ 1 ];
// 獲取窗口關閉前所選列的名稱
展示(xvar);
),
文本框( 「選擇第二個」 ),
y =列列錶框(
德特,
全部,
yvar = (y <<被選中)[ 1 ];
展示(yvar);
)
)
);
x 列 =柱子(dt,xvar); // 獲取列
ycol =柱子(dt,yvar);
姓名1 = “:” || xvar;
名稱2 = “:” ||伊瓦爾;
名稱 = 名稱1 || “,” ||姓名2;
展示( 姓名 );
評估(
解析(
“obj1 = 分佈(
堆棧(1),
連續分佈(列(“ ||名稱1 || ”),
),
連續分佈(列(“ ||名稱2 ||
”),
)
);”
)
);
回复:選擇多列並在腳本中繪製直方圖謝謝。 這是非常有用的腳本。回复:選擇多列並在腳本中繪製直方圖你好,
再次感謝。 我想將直方圖的結果保存到 HTML 中,並且過去已經做到了。 這是經過一些修改的腳本。 我確實收到錯誤
名稱未解析: obj 正在訪問或評估“obj”)。 我感謝您的幫助。
dt =打開( “A.csv” );
贏=新窗戶( “數據選擇” ,
H 列錶框(
面板盒( “可用欄” , dtCols =列列錶框( dt, 全部, 寬度( 80 ) ), ),
面板盒( “選定的欄目” ,
H 列錶框(
V 列錶框(
添加按鈕=按鈕盒( “添加” , 列列表 <<附加( dtCols <<被選中) ),
刪除按鈕 =按鈕盒( “消除” , 列列表 <<刪除選定())
),
列列表 =列列錶框( 數字,寬度( 80 ), 最小項目( 1 ), N 行( 4 ) )
)
),
確定按鈕 =按鈕盒( “好的” ,
PlotCols = colList <<獲取物品;
str = ”” ;
為了(我= 1 , 我 <= N 項(圖列),i++,
str = str || "連續分佈(列(:名稱(\!"" ||繪圖[i] || “\!”))),
”
);
評估(解析( “obj = dt << 分佈(堆棧(1),” ||字符串|| “);” ) );
贏了<<關閉窗口;
)
)
);
對象<<報告;
對象<<保存交互式 HTML ( “A” );
回复:選擇多列並在腳本中繪製直方圖非常感謝您提供解決方案。 我嘗試過並且有效。
回复:選擇多列並在腳本中繪製直方圖這是使用 colListBoxes 的方法:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
win = New Window("Data Select",
H List Box(
Panel Box("Available Columns",
dtCols = Col List Box(dt, all, width(80)),
),
Panel Box("Selected Columns",
H List Box(
V list Box(
addButton = Button Box("Add", colList << Append(dtCols << Get Selected) ),
removeButton = Button Box("Remove", colList << Remove Selected() )
),
colList = Col List Box(numeric, width(80), MinItems(1), N Lines(4))
)
),
okButton = Button Box("OK",
PlotCols = colList << Get Items;
str = "";
for(i=1,i<=N Items(PlotCols),i++,
str = str||"Continuous Distribution(Column(:Name(\!""||plotcols[i]||"\!"))),
"
);
eval(parse("dt << Distribution(stack(1),"||str||");"));
win << Close Window;
)
)
);