Carissimi,
Ho scritto la seguente sceneggiatura. Dopo aver aperto una tabella di dati, prende i dati e crea un grafico utilizzando il generatore di grafici. Quindi carica un'immagine che ha lo stesso nome della tabella dati aperta e usa quell'immagine come sfondo per il grafico.
Per far funzionare lo script, ho dovuto aggiungere al nome della tabella dati l'estensione del file .png come parte del nome. Quindi ho dovuto nominare sia l'immagine che la tabella dati aggiungendo .png nel loro nome (il file dell'immagine ha l'estensione .png).
Ad esempio, se il nome dell'immagine è sample.png, ho dovuto cambiarlo in sample.png.png.
Ovviamente non mi piace ma se non apporto questa modifica jmp dice che non trova il file immagine.
Sono sicuro che il problema può essere risolto in modo più pulito.
Grazie mille per qualsiasi aiuto.
Names Default To Here(1);
dt=Current Data Table();
gb = dt <<
Graph Builder(
Variables( X( :x ), Y( :y ), Overlay( :track ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"x",
ScaleBox,
{Min( 0 ), Max( 280 ), Inc( 50 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"y",
ScaleBox,
{Min( 0 ), Max( 265 ), Inc( 50 ), Minor Ticks( 1 )}
),
Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.05 )} )
)
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
img = newImage(n);
img<<ROTATE></ROTATE>
In Windows, il messaggio Get Name () in una tabella di dati restituisce solo il nome della tabella, senza il ".jmp" aggiunto.
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
Show( dt << get name() );
Registro:
//:*/
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
Show( dt << get name() );
/*:
dt << get name() = "Big Class";
Quindi, dovrai aggiungere ".png" per ottenere un nome file completo per New Image ().
Ecco un esempio che utilizza Big Class (copiato sul desktop) e il file Big Class.png allegato qui.
Names Default To Here( 1 );
dt = Open( "$DESKTOP/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.5 )} ) )
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
img = New Image( "$DESKTOP/" || n || ".png" );
frame << Add Image(
image( img ),
Bounds(
Left( 61.2587412587413 ),
Right( 179.370629370629 ),
Top( 70.8292080975384 ),
Bottom( 48.5033161162993 )
),
SetSize( {799, 620} )
);
NB: su Mac, << Get Name () restituisce l'intero nome del file, incluso .jmp. Pertanto, sul Mac dovrai usare Sostituisci in () per sostituire ".jmp" con ".png".
Names Default To Here( 1 );
dt = Open( "~/Desktop/Big Class.jmp" );
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 5 ) ), Smoother( X, Y, Legend( 6 ) ) ),
SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Transparency( 0.5 )} ) )
);
frame = (gb << report)[FrameBox( 1 )];
n = dt << Get Name();
Substitute Into( n, ".jmp", ".png" );
img = New Image( "~/Desktop/" || n );
//img<<ROTATE></ROTATE>