Buenos días a todos,
Tengo una pregunta sobre las imágenes jpg, no puedo encontrar ninguna documentación sobre JMP al respecto.
En mi caso, tengo una carpeta que contiene unas 3000 imágenes en formato "jpg".
Me gustaría poder mostrar en el generador de gráficos estas imágenes en formato "jpg" según la selección de filtros de datos locales.
Por ejemplo :

Aquí se debe mostrar la siguiente imagen: obj "B" y tipo "2".
Esta imagen se llama así en mi carpeta: "B_2.jpg".
Gracias por su ayuda !
Creo que esto está cerca de lo que está pidiendo y debería ayudarlo a comenzar:
// https://community.jmp.com/t5/Discussions/Drawing-other-shapes-in-graph-builder/m-p/368186#M61806
NamesDefaultToHere(1);
// Open a table and do Bivariate
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(X(:height), Y(:weight));
// Add a local data filter (:sex plays the role of floor . . . )
df = biv << Local Data Filter( Add Filter( columns( :sex ) ));
// Get the title of the window
win = (biv << Report) << GetWindowTitle;
// Define a function that will update the background image on the Bivariate plot
f = Function( {a},
// Infer what value of :sex is currenly selected in the data filter
levRows = df << getFilteredRows;
lev = Column(dt, "sex")[levRows];
lev = lev[1];
Speak(lev);
// (Try to) remove an image that might already be there
Try(
imgSeg = Window(win)[FrameBox(2)] << FindSeg( PictSeg( 1 ) );
imgSeg << Remove;
);
// Add the 'corresponding' image
if(
lev == "M",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/tile.jpg"), FillGraph),
lev == "F",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/progress.gif"), FillGraph)
);
);
// Add a handler to the data filter so that when the user makes a selection the function 'f' is called
rs = df << Make Filter Change Handler( f );Tomando un enfoque similar para @ian_jmp a continuación se muestra un ejemplo simple de secuencia de comandos que muestra una imagen basada en una selección de filtro de datos, pero no utiliza una plataforma JMP como Bivariate o Graph Builder.Simplemente muestra una imagen.


Names Default To Here( 1 );
path = "c:\users\???\pictures"; // set the path to your image directory
// Filter out all non jpg files
files = Filter Each( {file}, Files In Directory( path ), Word( -1, file, "." ) == "jpg" );
// I create a dummy data table to use for an example
ob = {"A", "B", "C"};
dt = New Table( "Pictures", invisible,
add rows( N Items( files ) ),
New Column( "Obj", character, set each value( ob[Mod( Row(), 3 ) + 1] ) ),
New Column( "type", nominal, set each value( Col Cumulative Sum( 1, :obj ) ) ),
New Column( "ImagePath", character, set each value( files[Row()] ) )
);
:ImagePath << hide;
// Here is the working code that can be used against a data table that matches
// the example data table created above
// It uses a Make Row State Handler to handle the changing of images when
// the data filter values change
nw = New Window( "Example",
hlb = H List Box(
dt << Data Filter(
Location( {928, 247} ),
Mode( Include( 1 ) ),
Add Filter( columns( :Obj, :type ), Display( :type, N Items( 8 ) ) )
),
pb = Graph Box( Frame Size( 600, 600 ) )
)
);
pb( report )[axisbox( 2 )] << delete;
pb( report )[axisbox( 1 )] << delete;
theFunction = Function( {a},
If( N Rows( dt << get selected rows ) == 1,
Try( pb << delete );
hlb << append( pb = Picture Box( Open( path || "\" || dt:ImagePath[(dt << get selected rows)[1]], jpg ) ) );
pb << set height( 600 );
pb << set width( 600 );
,
Try( pb << delete );
hlb << append( pb = Graph Box( Frame Size( 600, 600 ) ) );
pb( report )[axisbox( 2 )] << delete;
pb( report )[axisbox( 1 )] << delete;
)
);
rs = dt << make row state handler( theFunction );