fondo del mapaBuenos días a todos,
Tengo una carpeta con varias imágenes. Llego arrastrando las imágenes una a una para poner la imagen correspondiente en el fondo del mapa (en la herramienta de creación de gráficos). Me gustaría poder hacer esto de forma interactiva con una herramienta JMP (script JSL, selector de columnas...).
Es decir modificar el mapa base según la elección del usuario y con las imágenes de la carpeta mencionada.
Así es, por ejemplo, cómo se ve una imagen en el fondo del mapa al arrastrarla con la mano:

Gracias por su ayuda !
Exploración y visualización de datosRe: fondo de cartaUsar Agregar imagen al framebox debería funcionar
Names Default To Here(1);
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(top(90), Left(10), bottom(10), Right(90))
);
);
nw = new window("",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);Re: mapa basegracias por su respuesta @jthi .
Por un lado, aparecen todas las imágenes diferentes en el lado izquierdo de la página, donde puedo elegir cuál seleccionar.
Cuando selecciono una imagen, aparece el siguiente mensaje de error:

Re: fondo de cartaEl script me funciona cuando uso JMP17

Re: mapa baseGracias, funciona correctamente, se me había olvidado el resto del camino.
Sin embargo, para que la imagen quede bien representada con las dimensiones correctas tengo que usar la opción "Imagen"-->"Tamaño/Escala"-->"Rellenar el gráfico".
¿Existe alguna opción para hacer esto automáticamente o tengo que hacerlo manualmente cada vez?
Gracias por su respuesta !
Re: fondo de cartaEl índice de secuencias de comandos generalmente es bastante bueno para encontrar soluciones (puede usar la misma palabra clave que el menú JMP o partes de él)

Re: mapa baseUtilizo este script para tener el generador de gráficos, intenté integrar la opción "rellenar gráfico" pero nada concluyente, no funciona correctamente.
Names Default To Here(1);
folder_of_interest = Convert File Path("image");
filenames = Files In Directory(folder_of_interest);
dt = current data table();
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << remove;
wait ( 1 );
cur_img << fill graph;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(frame << fill graph);
);
);
nw = new window("Image référence vs défauts",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size( 567, 494 ),
Show Control Panel( 0 ),
Variables( X( :COORDXD ), Y( :COORDYD ) ),
Elements( Points( X, Y, Legend( 6 ) ) ),
Local Data Filter(
Add Filter(
columns( :NUMP, :NUMIMAGE ),
Where( :NUMP == "x" ),
Where( :NUMIMAGE == x ),
Display( :NUMP, N Items( 15 ), Find( Set Text( "" ) ) ),
Display( :NUMIMAGE, N Items( 15 ) )
)
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties( 0, {Line Color( 51 )}, Item ID( "COORDYD", 1 ) )
)}
)
)
);
)
);
Re: fondo de cartaNecesita la referencia a PictSeg después de configurar la imagen y luego usar el gráfico de relleno en eso.
Re: mapa baseBuenos dias,
En la lista de imágenes para seleccionar a la izquierda, tengo muchas opciones.
¿Es posible cambiar el formato de visualización y tener una lista desplegable donde podemos buscar las imágenes que queremos mostrar de fondo?
Como a continuación:

gracias por sus respuestas.
Re: mapa baseDepende de tu interfaz de usuario. Es posible que pueda usar un filtro de datos local o escribir su propio cuadro de búsqueda (usando el cuadro de edición de texto) que luego puede usarse, por ejemplo, con el cuadro de lista para mostrar los elementos.
Re: mapa baseGracias por su respuesta.
Probé con List Box pero no sé dónde integrarlo en el script.
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img),
bounds(top(90), Left(10), bottom(10), Right(90))
);
);
nw = new window("",
H List Box(
rb = Radio Box(filenames, << Set Function(function({this},
cur_file = (this << get selected);
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
Re: mapa baseReemplazaría Radio Box con List Box. Si necesita la función de búsqueda, tendrá que escribirla usted mismo ya que ListBox no la tiene de forma predeterminada.
Ver más...
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
frame = Report(gb)[FrameBox(1)];
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img)
);
seg = frame << FindSeg(PictSeg(1));
seg << fill graph;
seg << Lock(1);
);
nw = new window("",
H List Box(
rb = List Box(filenames, << Set Max Selected(1), << Set Function(function({this},
cur_file = (this << get selected)[1];
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
Re: mapa baseBuenos días a todos,
Con este script, obtengo imágenes de fondo interactivas en el generador de gráficos.
Me gustaría poder bloquear las imágenes y hacer el tamaño isométrico para cada una de las imágenes.
Por defecto uso las funciones " lock(1) " y " tamaño a isométrico " pero esto solo funciona cuando trabajo en una sola foto, no puedo generalizar las funciones para todas las imágenes, tan pronto como modificamos la selección de la foto en En el fondo del generador de gráficos, las funciones ya no tienen efectos.
¿Cómo podemos solucionar este problema?
Gracias por sus respuestas.
Re: mapa baseNo estoy exactamente seguro de qué problema tienes. ¿Qué tipo de imágenes estás intentando configurar? ¿Cómo deberían estar alineados en tu gráfica? ¿Deberían llenar todo el gráfico? ¿Tienen límites específicos?
Ver más...
Names Default To Here(1);
Clear Log();
folder_of_interest = Convert File Path("$SAMPLE_IMAGES");
filenames = Files In Directory(folder_of_interest);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
swap_img = Expr(
Try(
cur_img = frame << FindSeg(PictSeg(1));
cur_img << Remove;
);
img = New Image(folder_of_interest || cur_file);
frame << Add Image(
Image(img)
);
seg = frame << FindSeg(PictSeg(1));
seg << fill graph;
// seg << bounds(Left(0), Right(100), top(100), bottom(0));
// {l, r, t, b} = seg << getBounds;
seg << Lock(1);
);
nw = new window("",
H List Box(
rb = List Box(filenames, << Set Max Selected(1), << Set Function(function({this},
cur_file = (this << get selected)[1];
swap_img;
))),
gb = dt << Graph Builder(
Size(528, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(3)))
);
)
);
frame = Report(gb)[FrameBox(1)];
frame << Size to Isometric(1);