Boîte à moustaches avec points alignés dans une boîte plus graphique en violonBon après-midi à tous,
Je voulais créer un graphique dans lequel les points tombaient exactement dans chaque box-plot et le graphique de violon associé.
En utilisant le générateur de graphes, j'ai réalisé que les points ne s'alignent pas à l'intérieur de la boîte.
Quelqu'un a-t-il une idée de la façon de résoudre ce problème?
Je joins des photos.

Personnalisation de masseRe : boîte à moustaches avec points alignés dans une boîte plus violonSi vous utilisez Windows, vous pouvez également les trouver dans la table des caractères :

Il existe également une option pour créer une fonction complémentaire / personnalisée pour ce faire. Ce ne serait pas parfait, mais cela pourrait être utile ? Voici un exemple rapide de fonction possible (je la rendrais plus robuste si je devais en créer une):
Names Default To Here(1);
replace_str = Function({str}, {Default Local},
aa_unicode = Associative Array();
aa_unicode["\sigma"] = "\!U03C3";
aa_unicode["\mu"] = "\!U03BC";
aa_unicode["\subscript1"] = "\!U2081";
aa_unicode["\subscript2"] = "\!U00B2";
aa_unicode["\subscript3"] = "\!U00B3";
aa_unicode["\subscript4"] = "\!U2074";
return(Substitute(str, aa_unicode << get keys, aa_unicode << get values));
);
dt = New Table("Untitled 3",
Add Rows(0),
New Column("kg/m\subscript2"),
New Column("\sigma*\mu"),
New Column("\subscript1\subscript3")
);
wait(2);
For Each({col_name}, dt << Get Column Names(String),
Column(dt, col_name) << Set Name(replace_str(col_name));
);
Re : boîte à moustaches avec points alignés dans une boîte plus violonMERCI BEAUCOUP BEAUCOUP
Giuseppe
Re : boîte à moustaches avec points alignés dans une boîte plus violonJ'ai trouvé les codes sur Wikipedia
print("18F-FDG\!U00B9\!U2078");
"18F-FDG¹⁸"
Re : boîte à moustaches avec points alignés dans une boîte plus violonCher Mark,
Dommage que dans des logiciels comme JMP il y ait ces problèmes de perte de temps.
Publier quelques articles qui permettent de réduire le temps serait une excellente solution.
Giuseppe
Re : boîte à moustaches avec points alignés dans une boîte plus violonMERCI BEAUCOUP,
des conseils très utiles et décisifs.
Meilleurs vœux
Giuseppe
PS 18F-FDG avec 18 comme exposant parmi l'unicode je ne trouve pas la solution. Savez-vous comment faire ?
Re : boîte à moustaches avec points alignés dans une boîte plus violonCe serait bien d'avoir un moyen plus direct d'entrer des caractères spéciaux. Pour le moment, je garde un script avec des chaînes commentées pour les symboles que j'utilise beaucoup. Cela économise un peu d'effort.
Re : boîte à moustaches avec points alignés dans une boîte plus violonJMP prend en charge les normes Unicode UTF-8 et UTF-16. Voir le Guide de création de scripts pour plus de détails.Il permet d'incruster ces caractères spéciaux sans manipulation particulière.
JMP peut également imprimer de tels caractères à l'aide de la chaîne d'échappement "\!" suivi de la chaîne Unicode.Donc, pour inclure ce que vous avez spécifié comme étiquette, j'ouvrirais une fenêtre de script et placerais la commande d'impression suivante dans la fenêtre
print("BMI (Kg / m\!U00B2)");
Après avoir exécuté cette ligne, ce qui suit sera dans le journal, que vous pourrez ensuite couper et coller dans l'étiquette
"BMI (Kg / m²)"
J'aimerais qu'il y ait un chemin plus direct, mais je n'en connais pas.Des détails sur le jeu de caractères Unicode complet peuvent être trouvés dans le Guide de script

Re : boîte à moustaches avec points alignés dans une boîte plus violonMerci pour vos suggestions.
J'aimerais savoir comment afficher par exemple le groupe au carré ou 2 en indices.
Ou dans l'exemple précédent, afficher la hauteur au carré.
Donc, en général, comment afficher les étiquettes des axes avec des exposants ou des indices.
Par exemple, si j'écrivais IMC (Kg/m ^ 2) sur l'axe des ordonnées, comment dire à JMP que "^ 2" est au carré en évitant le symbole ^ ?
Meilleurs vœux
Re : boîte à moustaches avec points alignés dans une boîte plus violonJMP utilise le jeu de caractères Unicode, qui prend en charge des
caractères tels que é et ½. Il enregistre les fichiers sans Unicode spécial
automatiquement les caractères en texte brut. Cette option est sélectionnée par
défaut.
En d'autres termes, si vous placez de tels caractères Unicode spéciaux dans votre table de données, ils s'affichent


Re : boîte à moustaches avec points alignés dans une boîte plus violonMERCI BEAUCOUP,
grâce à vos précieux conseils j'ai enfin atteint le but.
Avec le recul, la solution était simple, mais a priori je n'avais pas pensé à ce que vous avez écrit. Je vous demande une curiosité : savez-vous comment mettre les exposants et les indices aux étiquettes des variables sur l'axe des abscisses ou les ordonnées ?
Je remarque que JMP n'a pas cette possibilité simple mais commune.
Cette lacune est plutôt anormale compte tenu de l'importance du JMP.
Meilleurs vœux
Giuseppe
Re : boîte à moustaches avec points alignés dans une boîte plus violonTout ce qui doit être fait pour prendre la table de données telle que vous la décrivez et la transmettre à Graph Builder pour créer l'affichage souhaité pour empiler les données, puis exécuter Graph Builder.Pour illustrer, étant donné le tableau suivant avec 4 variables continues (il pourrait avoir autant de variables continues que nécessaire),

On utilise juste
Tableaux=>Empiler
et empile toutes les colonnes continues, et s'assure également que la colonne Groupe est également transportée

J'ai également renommé la colonne de données empilées en mesure et la colonne d'étiquette source en variable
Maintenant, les données résultantes peuvent être utilisées par Graph Builder pour créer le graphique souhaité

Vous trouverez ci-dessous un script qui crée d'abord l'exemple de tableau de données à partir de l'un des exemples de tableaux de données fournis par JMP, puis il empile les données et enfin il utilise Graph Builder pour créer le graphique ci-dessus.
Names default to here(1);
// Create a sample data table that has multiple continuous variables with 2 groups
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
dt:Site << set name("Group");
dt << select where( :Group<=2 & :lot_id == "lot01" );
dt << invert row selection;
dt << delete rows;
dtSub = dt << Subset(
All rows,
columns( :Group, :NPN1, :NPN2, :NPN3, :NPN4 )
);
close(dt, nosave);
Wait(5); // Wait 5 seconds so one can see the initial data table
// Now just modify the data shape to set it up for Graph Builder to display the
// data as required
// First Stack all of the continuous variables into one column, and create a second
// column that indicates what column each row's value came from
dtStack = dtSub <<
Stack(
columns( :NPN1, :NPN2, :NPN3, :NPN4 ),
Source Label Column( "Variable" ),
Stacked Data Column( "Measurement" )
);
// Now graph the data placing the Variable and Group columns on the X axis and the
// Measurement column on the Y axis
// Also, remove the label from the Y axis
Graph Builder(
Size( 528, 458 ),
Show Control Panel( 0 ),
Variables(
X( :Variable ),
X( :Group, Position( 1 ) ),
Y( :Measurement ),
Color( :Group )
),
Elements(
Contour( X( 1 ), X( 2 ), Y, Legend( 14 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 13 ) ),
Points( X( 1 ), X( 2 ), Y, Legend( 15 ) )
),
SendToReport(
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( Poly Seg( "Violin (NPN1>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN1>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>2)" ), {Transparency( 0.5 )} )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {14, [3, 4], 13, [0, 1, 2, -3], 15, [5, 6]} )}
)
)
);
Re : boîte à moustaches avec points alignés dans une boîte plus violonMerci beaucoup,
J'ai essayé la procédure, mais ça ne marche pas.
Je veux mettre plusieurs variables continues sur l'axe des x en même temps et chacune d'elles est divisée par 2 groupes. Sur l'axe des ordonnées, je n'ai aucune variable.
Le but est de montrer toutes les variables ensemble et de comparer chacune d'elles avec deux groupes.
Si je faisais comme vous me l'avez conseillé, je ne peux mettre qu'une seule variable à la fois sur l'axe des ordonnées car si je mets toutes les variables ensemble, le problème se poserait à nouveau que les points ne s'alignent pas dans les boîtes à moustaches; alors que je veux plusieurs variables en même temps.
Giuseppe
Re : boîte à moustaches avec points alignés dans une boîte plus violonFaites glisser à la fois la colonne X et la colonne Superposition vers l'axe X, puis prenez la colonne Superposition et déplacez-la vers la zone de dépôt Couleur.
