Ajouter des lignes verticales au générateur de graphiques dans la zone de liste HSalut,
Je souhaite intégrer plusieurs graphiques dans un seul diagramme et utiliser le générateur de graphiques avec les listes verticales et horizontales. Je souhaite ajouter des lignes verticales aux graphiques. J'ai trouvé l' exemple de @jthi , mais je rencontre des problèmes dès qu'il y a plusieurs graphiques.
L'exemple ci-dessous fonctionne avec un seul graphique, mais lorsque je décommente le deuxième graphique, un axe supplémentaire apparaît entre les deux (voir ci-dessous). Comment puis-je résoudre ce problème ?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//gender_list = {"F", "M" };
gender_list = {"F"};
For( i = 1, i < N Items( gender_list ) + 1, i++,
gender = gender_list[i];
dt_gender = dt << Subset(
Filtered Rows( :sex == gender ),
Include All Columns//Name :sex
);
Match ( gender,
"F", data = Column ("height"),
"M", data = Column ("weight")
);
Match ( gender,
"F", ref_line = 60,
"M", ref_line = 100
);
plot = New Window ( gender,
H List Box(
gb1 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb1)[AxisBox(1)],
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2),
/*gb2 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
), */
//axisbox = Report(gb2)[AxisBox(1)],
//axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2),
),
);
);
Automatisation et scriptageExploration et visualisation des donnéesRe: Ajouter des lignes verticales au générateur de graphiques dans la zone de liste HDans une nouvelle fenêtre, différents objets d'affichage peuvent être listés en les séparant par des virgules :
gb = graph Box ();
new window("test",
Text Box ("Hello"),
gb [Axis Box (2)]
)
crée une nouvelle fenêtre contenant une zone de texte et une zone d'axe.
Si vous souhaitez ajouter des « commandes à cette liste », vous devez les « fermer » par « ; ».
Dans votre cas, il s'agit de :
Voir plus...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
//gender_list = {"F", "M" };
gender_list = {"F"};
For( i = 1, i < N Items( gender_list ) + 1, i++,
gender = gender_list[i];
dt_gender = dt << Subset(
Filtered Rows( :sex == gender ),
Include All Columns//Name :sex
);
Match ( gender,
"F", data = Column ("height"),
"M", data = Column ("weight")
);
Match ( gender,
"F", ref_line = 60,
"M", ref_line = 100
);
plot = New Window ( gender,
H List Box(
gb1 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb1)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2);
gb2 = dt_gender << Graph Builder(
Size(529, 457),
Show Control Panel(0),
Variables(X(data)),
Elements(Histogram(X, Legend(3)))
),
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(ref_line, "Dotted", red, gender, 2);
),
);
);
.
Re: Ajouter des lignes verticales au générateur de graphiques dans la zone de liste HJ'ai essayé d'ajouter une capture d'écran, mais le copier-coller semble toujours dysfonctionner sur la Communauté.
@Ryan_Gilmore ?
Re: Ajouter des lignes verticales au générateur de graphiques dans la zone de liste HJe suggère de déplacer le code ajoutant les lignes de référence en dehors de la nouvelle fenêtre, car il est plus facile (à mon avis) de le mettre à jour et d'y apporter des modifications (vous pouvez également faire ce que hogi a suggéré).
Voici une idée initiale de la façon dont je procéderais (toutes ces techniques ne sont pas de base, mais cela peut donner des idées sur ce qui est possible).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
plot_width = 400;
plot_height = 300;
aa_genders = Associative Array();
aa_genders["F"] = ["data" => "height", "ref_line" => 60];
aa_genders["M"] = ["data" => "weight", "ref_line" => 100];
For Each({{cur_gender, specs}}, aa_genders,
dt_gender = dt << Subset(
Filtered Rows(:sex == cur_gender),
Include All Columns,
Invisible
);
hlb = H List Box(
gb1 = dt_gender << Graph Builder(
Size(plot_width, plot_height),
Show Control Panel(0),
Variables(X(Eval(specs["data"]))),
Elements(Histogram(X, Legend(3)))
),
gb2 = dt_gender << Graph Builder(
Size(plot_width, plot_height),
Show Control Panel(0),
Variables(X(Eval(specs["data"]))),
Elements(Histogram(X, Legend(3)))
)
);
axisbox = Report(gb1)[AxisBox(1)];
axisbox << Add Ref Line(specs["ref_line"], "Dotted", red, cur_gender, 2);
axisbox = Report(gb2)[AxisBox(1)];
axisbox << Add Ref Line(specs["ref_line"], "Dotted", red, cur_gender, 2);
aa_genders[cur_gender]["dt"] = dt_gender;
aa_genders[cur_gender]["report"] = New Window(cur_gender,
hlb
);
);