Salut,
J'ai un graphique avec deux axes Y avec des échelles différentes.
Le style du bar est "Côte à côte" mais ils semblent se regrouper.
J'ai essayé de mettre moins d'échantillons sur le graphique pour qu'il y ait moins de barres, mais cela n'a pas fonctionné.
Avez-vous des idées sur la façon de les placer côte à côte et de ne pas les encombrer ?
Cordialement


Salut @helmon ,
Merci pour la mise à jour. Est-il possible de restructurer votre table de données à partir de la base de données ? Je suppose que non, mais cela pourrait faire partie de ce qui rend la vie plus difficile aujourd'hui. Lorsque je reçois des données provenant d'autres personnes, je passe souvent plus de temps à les restructurer depuis la source Excel vers celle avec laquelle JMP aime travailler.
Quoi qu'il en soit, j'ai testé cela avec le fichier AirlineDelay.jmp en suivant votre description. J'ai pu obtenir le résultat suivant avec le script ci-dessous.

Le script est assez court, et j'en ai obtenu l'essentiel en suivant le bouton rouge et en visualisant le script. J'ai dû chercher un peu comment élaborer la formule de la manière la plus efficace, mais cela n'a pas pris trop de temps. Vous devriez pouvoir modifier le script ci-dessous pour obtenir le résultat souhaité pour vos données.
Names Default to here (1);
Data Table( "AirlineDelays" ) << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" )
);
Current Data Table() << Set Name("Stackeddt");
Data Table( "Stackeddt" ) << New Column("Distance", Numeric, "Continuous", Formula(Match( :Label, "Distance", :Data )));//this copies over only the distance data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Data Table( "Stackeddt" ) << New Column("Delay & Time", Numeric, "Continuous", Formula(Match( :Label, "Arrival Delay", :Data, "Elapsed Time", :Data )));//This copies over both the delay and time data
Data Table( "Stackeddt" ) << Select Columns("Distance") << Delete Property("Formula");//this removes the formula property, but is probably not necessary
Graph Builder(
Size( 534, 448 ),
Show Control Panel( 0 ),
Variables(
X( :Airline ),
Y( :Distance, Side( "Right" ) ),
Y( :Name( "Delay & Time" ), Position( 1 ) ),
Overlay( :Label )
),
Elements( Bar( X, Y( 2 ), Legend( 4 ) ), Bar( X, Y( 1 ), Legend( 5 ) ) )
);J'espère que cela t'aides!,
DS
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-222061" slang="en-US" mode="NONE">Re : Graphbuilder : barres côte à côte</LINGO-SUB><LINGO-BODY id="lingo-body-222061" slang="en-US" mode="NONE"><P>Salut!</P>
<P>J'utilise 14.1.0.<BR /> J'ai contacté l'équipe d'assistance - et apparemment, ce n'était pas une solution en un clic.<BR /> Voici la réponse que j'ai obtenue (j'avais 3 colonnes, A, B et C (%))</P>
<P>---</P>
<P>Cliquez sur Tables -> Pile</P>
<P>Sélectionnez B (%), A (%) et C (%) et cliquez sur Empiler les colonnes</P>
<P>J'ai nommé la colonne de données empilées Data Left, mais cela est facultatif.</P>
<P> </P>
<P>Ensuite, nous devons reformater le nouvel ensemble de données</P>
<P>Dans l'ensemble de données qui s'ouvre à partir de la pile, créez une nouvelle colonne appelée Data Right</P>
<P>Copiez les valeurs de Data Left dans Data Right</P>
<P>Maintenant, pour l'axe de gauche, nous voulons UNIQUEMENT inclure les lignes de A (%), et pour l'axe de droite, nous voulons UNIQUEMENT B (%) et C (%)</P>
<P>Pour ce faire, j'ai choisi Lignes -> Filtre de données</P>
<P>Sélectionnez ensuite une étiquette et cliquez sur Ajouter</P>
<P>Choisis un (%)</P>
<P>Cliquez sur la colonne Data Right et appuyez sur Supprimer - supprimant ainsi les valeurs A (%) de Data Right et ne laissant SEULEMENT B (%) et C (%).</P>
<P>Revenir au filtre de données</P>
<P>Cette fois, sélectionnez B (%) et C (%).</P>
<P>Cliquez sur la colonne de gauche des données et appuyez sur Supprimer - supprimant ainsi les valeurs B (%) et C (%) et ne laissant QUE les valeurs A (%). </P>
<P> </P>
<P>Créez enfin le graphique</P>
<P>Cliquez sur Graphique -> Générateur de graphiques</P>
<P>Faites glisser les données vers la gauche et les données vers la droite vers l'axe Y.</P>
<P>Faites glisser le nom de l'échantillon vers l'axe X</P>
<P>Faites glisser l'étiquette vers la superposition</P>
<P>Changer les points en barre</P>
<P>Faites un clic droit sur l'axe Y et choisissez Déplacer vers la droite -> Données vers la droite</P>
<P>---</P>
<P> </P>
<P>Mais cela rend la création de scripts un peu plus difficile maintenant (j'essaie de rationaliser les scripts afin que mon équipe puisse les utiliser pour leurs bases de données).</P>
<P>Je ne peux trouver le script que lorsque le nouvel ensemble de données apparaît, à savoir :</P>
<P> </P>
<P> </P>
<PRE><CODE class=" language-jsl">Data Table( "Test for JMP" ) << Stack(
columns( :Name( "B (%)" ), :Name( "A (%)" ), :Name( "C (%)" ) ),
Source Label Column( "Label" ),
Stacked Data Column( "Data Left" )
);
Mais lorsque j'effectue les étapes supplémentaires (ajout de colonne et filtrage des données), je ne trouve pas le script pour cela.
Je récupère uniquement le script de Graph Builder – mais ce n'est que pour le graphique (pas pour savoir comment vous y êtes arrivé).
Salut @helmon ,
C'est une sortie étrange. Quelle version de JMP utilisez-vous ? Cela aurait pu être un bug dans le passé. Avec 14.1.0, je ne semble pas avoir ce problème. Cependant, il semble que vous essayiez également de représenter graphiquement de nombreuses choses différentes, notamment les informations du groupe X et du groupe Y. Cela pourrait en être la raison. Faut-il faire le groupe X/Y ? Pourriez-vous plutôt installer un filtre de données local ?
J'ai essayé avec le fichier TitanicPassenger.jmp pour générer un type de sortie similaire, mais à moins que je change spécifiquement le graphique à barres de "côte à côte" à "imbriqué", il montrait toujours les barres côte à côte.
Pouvez-vous partager le tableau de données ? Vous pouvez l'anonymiser afin qu'aucune information sensible ne soit partagée.
Si vous pouviez fournir plus de contexte sur le type de données (nominales/continues) que vous représentez graphiquement, cela pourrait aider.
J'espère que cela t'aides!,
DS