Analysieren Sie die Spaltennamen in Chart<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Diese Frage ähnelt einem anderen Beitrag zum Parsen von Diagrammspaltennamen.
Ich möchte ein einfaches Balkendiagramm erstellen, in dem meine Y-Spalten durch die Benutzerauswahl aus einem Col-Listenfeld festgelegt werden.
Ich kann nicht herausfinden, wie ich mit Parser und / oder Ausdruck meine Benutzerauswahlen in die Chart-Anweisung einfügen kann.
Für andere Diagrammtypen (wie z. B. Überlagerung) konnte ich dazu eine Liste mit Spalten verwenden, aber ich kann nicht
scheinen das mit Diagramm zu tun.
Dieser Code generiert das Diagramm, wenn die Ycols bekannt sind:
dt = Open ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp");
Diagramm ( X ( : Name )
.
Y ( : Höhe . : Gewicht )
);
Wenn ich YCols ausgewählt habe, muss ich Folgendes tun:
Chart1Expr = Ausdruck (Chart (
X (: Name),
Y (Ycols)
));
replaceycols = expr (: height,: weight) <- das funktioniert nicht, aber es ist so, wie ich es brauche newchartexpr = Stellvertreter (Name ausdr (Chart1Expr), ausdr (ycols), ausdr (replaceycols)));
newchartexpr;
Analysieren Sie die Spaltennamen in ChartVielen Dank! Ich hatte den Eval-Schritt verpasst, als ich versuchte, eine Liste zu füttern.
Analysieren Sie die Spaltennamen in ChartY () kann eine Liste als Argument akzeptieren, auch wenn die Spaltennamen durch Zeichenfolgen dargestellt werden. Dieses Beispiel funktioniert in JMP9:
dt = Öffnen ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
Ycols = { "Höhe" . "Gewicht" } ;
Diagramm ( X ( : Sex ) . Y ( Eval ( Ycols ) ) ) ;
Wenn Sie jedoch Statistiken angeben müssen, wird dies etwas komplizierter. Eine Methode ist das Erstellen einer Liste von Ausdrücken durch Durchlaufen einer Liste (z. B. vom Benutzer erstellt), wie im folgenden Beispiel:
dt = Öffnen ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
Ycols = {} ;
Zum ( ich = 1 . ich <= N Artikel ( ylist ) . ich ++
Einfügen in ( Ycols . Parse ( "Bedeuten(:" || ylist [ ich ] || ") ) )
) ;
Diagramm ( X ( : Sex ) . Y ( Eval ( Ycols ) ) ) ;