Sélection de plusieurs colonnes et création d'un histogramme dans un scriptSalut,
J'ai écrit un script pour sélectionner deux colonnes d'un tableau et créer un histogramme. J'aime pouvoir sélectionner un nombre arbitraire de colonnes et créer un histogramme pour celle sélectionnée. Peut-on m'aider à y parvenir ? J'ai listé mon script ci-dessous. Merci
dt = Ouvrir ( "A.csv" );
xvar = . ;
yvar = . ;
gagner = Nouvelle fenetre ( "Choisissez deux variables" ,
<< Modal ,
<< Sur validation (
// demande à l'utilisateur de sélectionner deux variables avant de cliquer sur OK
Montrer ( xvar, yvar );
Si ( Est manquant ( xvar ) | Est manquant ( yvar ),
0 , // si xvar ou yvar sont manquants, ne faites rien lorsque vous cliquez sur OK
1
);
),
Zone de texte ( " Sélectionnez deux colonnes numériques. " ),
Zone de liste H (
Zone de texte ( "Choisissez d'abord" ),
X = Zone de liste de colonnes (
dt, // référence à la table de données
tous, // affiche toutes les colonnes de la table de données
xvar = (x << Soyez sélectionné )[ 1 ];
// récupère le nom de la colonne sélectionnée avant la fermeture de la fenêtre
Montrer ( xvar );
),
Zone de texte ( "Choisissez la deuxième" ),
y = Zone de liste de colonnes (
dt,
tous,
yvar = (y << Soyez sélectionné )[ 1 ];
Montrer ( yvar );
)
)
);
xcol = Colonne ( dt, xvar ); // récupère les colonnes
ycol = Colonne ( dt, yvar );
nom1 = ":" || xvar;
nom2 = ":" || yvar;
nom = nom1 || "," || nom2;
Montrer ( nom );
Évaluer (
Analyser (
"obj1 = Distribution(
Pile(1),
Distribution continue( Colonne(" || nom1 || ") ,
),
Distribution continue( Colonne(" || nom2 ||
"),
)
);"
)
);
Re : Sélectionner plusieurs colonnes et créer un histogramme dans un scriptMerci. C'est un script très utile.Re : Sélectionner plusieurs colonnes et créer un histogramme dans un scriptSalut,
Merci encore. Je voulais enregistrer le résultat de l'histogramme en HTML et je l'ai fait dans le passé. Voici le script avec quelques modifications. J'obtiens une erreur
Nom non résolu : obj en accès ou évaluation de 'obj'). J'apprécie ton aide.
dt = Ouvrir ( "A.csv" );
gagner = Nouvelle fenetre ( "Sélection des données" ,
Zone de liste H (
Panneau électrique ( "Colonnes disponibles" , dtCols = Zone de liste de colonnes ( dt, tout, largeur( 80 ) ), ),
Panneau électrique ( "Colonnes sélectionnées" ,
Zone de liste H (
Zone de liste V (
ajouterBouton = Boîte à boutons ( "Ajouter" , colListe << Ajouter ( dtCols << Soyez sélectionné ) ),
supprimerBouton = Boîte à boutons ( "Retirer" , colListe << Enlever la sélection () )
),
colListe = Zone de liste de colonnes ( numérique, largeur ( 80 ), MinItems( 1 ), N lignes ( 4 ) )
)
),
okBouton = Boîte à boutons ( "D'ACCORD" ,
PlotCols = colList << Obtenir des articles ;
str = "" ;
Pour ( je = 1 , je <= N articles ( PlotCols ), i++,
str = str || "Distribution continue (Colonne (:Nom(\!") || plotcols[i] || "\!"))),
"
);
Évaluer ( Analyser ( "obj = dt << Distribution (pile (1))" || str || ");" ) );
gagner << Fermer la fenêtre ;
)
)
);
obj << rapport ;
obj << Enregistrer le HTML interactif ( "UN" );
Re : Sélectionner plusieurs colonnes et créer un histogramme dans un scriptMerci beaucoup d'avoir fourni la solution. Je l'ai essayé et il fonctionne.
Re : Sélectionner plusieurs colonnes et créer un histogramme dans un scriptVoici une méthode utilisant 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;
)
)
);