Agregar líneas verticales al generador de gráficos en el cuadro de lista HHola,
Quiero colocar varios gráficos en un solo gráfico y usar el Constructor de Gráficos junto con los Cuadros de Lista V y H. Quiero agregar líneas verticales a los gráficos. Encontré el ejemplo de @jthi , pero tengo problemas cuando hay varios gráficos.
El ejemplo a continuación funciona con un solo gráfico, pero al descomentar el segundo gráfico, se genera un eje adicional entre los gráficos (ver más abajo). ¿Cómo puedo solucionarlo?
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),
),
);
);
Automatización y scriptingExploración y visualización de datosRe: Agregar líneas verticales al generador de gráficos en el cuadro de lista HEn una ventana nueva, se pueden enumerar diferentes objetos de visualización separándolos con comas:
gb = graph Box ();
new window("test",
Text Box ("Hello"),
gb [Axis Box (2)]
)
crea una nueva ventana con el cuadro de texto y un cuadro de eje.
Si desea agregar "comandos a esta lista, debe "cerrar" los comandos con ";".
Para tu caso es:
Ver más...
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: Agregar líneas verticales al generador de gráficos en el cuadro de lista HIntenté agregar una captura de pantalla, pero Copiar/Pegar todavía parece no funcionar en la Comunidad
@Ryan_Gilmore ?
Re: Agregar líneas verticales al generador de gráficos en el cuadro de lista HSugeriría mover el código agregando líneas de referencia fuera de la Nueva ventana, ya que es más fácil (en mi opinión) actualizar y realizar modificaciones (también puedes hacer lo que sugirió hogi).
Aquí está la idea inicial de cómo escribiría esto (no todas son técnicas básicas, pero esto puede dar algunas ideas de lo que se puede hacer)
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
);
);