il vecchio script JMP13 funzionante non funziona più con JMP15. Lo script modifica le coordinate del file di mappa -XY e né gli aggiornamenti del generatore di grafici né la mappa modificata vengono visualizzati creando una nuova istanza del generatore di grafici. Appena aprendo una nuova sessione viene mostrata una nuova mappa. Sembra che una sorta di cache impedisca gli aggiornamenti.
È possibile correggere o aggirare questo comportamento?
dt2 = open("C:/TEMP/map-Name.jmp");
dt3 = open("C:/TEMP/map-XY.jmp");
dt= open("C:/TEMP/map.jmp");
new window("shift up",
gb = dt << Graph Builder(
Size( 1381, 885 ),
Variables( Shape( :xy ) ),
Elements( Map Shapes( Legend( 6 ) ) )
);
text box("shift up selected columns by 10"),
button box("up",
rws= dt<< Get Selected Rows();
if(nrows(rws),
r=[];
for(j=1, j<=nitems(rws), j++,
sh= dt[rws[j],"X"];
dt << select where(:X == sh);
rw= dt << get selected rows;
r= r |/ rw;
);
for(i=1, i<=nitems(r), i++,
dt[r[i],"bottom"]=dt[r[i],"bottom"] + 10;
dt[r[i],"top"]=dt[r[i],"top"] + 10;
);
rws= r;
values= column(dt,"xy")[rws];
rws= dt2 << get rows where( Contains( values, :Name ) );
shapes= column(dt2,"Shape ID")[rws];
rws = dt3 << get rows where(Contains( shapes, :Name("Shape ID") ) );
sy = column(dt3,"Y1") << get values;
for(i=1, i<=nrows(rws), i++,
sy[rws[i]] = sy[rws[i]] + 10;
);
column(dt3, "Y1") << set values(sy);
dt3<<SAVE></SAVE>