¿Cómo lograr el efecto del cursor apuntando al contenido mostrado en una página web usando JSL en JMP?¡Gracias expertos!
http://worldmap.ifnews.com/chinamap/china/fmap
h = [=>];
h["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36";
h["Accept"] = "application/json, text/javascript, */*; q=0.01";
h["Referer"] = "http://worldmap.ifnews.com/chinamap/china/fmap";
h["X-Requested-With"] = "XMLHttpRequest";
u = "http://worldmap.ifnews.com/chinamap/china/financialData?type=all";
rs = New HTTP Request(URL(u), Method("GET"), Headers(h));
rr = rs << Send;
If( !Is Missing( rr ),
txt = Blob To Char( rr );
dt = JSON To Data Table( txt );
dt << Set Name( "map" );
dt:price << Data Type( Numeric ) << Modeling Type( Continuous );
dt:priceLimit << Data Type( Numeric ) << Modeling Type( Continuous );
dt:changeAmount << Data Type( Numeric ) << Modeling Type( Continuous );
dt:countryCName << Set Property( "Map Role", {Map Role( NameName, Map Name( "World", "Countries" ) )} );
dt << Graph Builder(
Size( 800, 600 ),
Show Control Panel( 0 ),
Variables( Shape( :countryCName ), Color( :priceLimit ) ),
Elements( Map Shapes( Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
5,
Properties(
0,
{gradient(
{Color Theme( "Red to Green" ),
Reverse Gradient( 1 )}
)},
Item ID( "priceLimit", 1 )
)
)}
)
)
);
);

Automatización y scriptingRe: ¿Cómo el JSL del software MP logra este efecto en las páginas web?¿Qué efecto? ¿Qué páginas web?
Re: ¿Cómo el JSL del software MP logra este efecto en las páginas web?¿Cómo lograr el efecto del cursor apuntando al contenido mostrado en una página web usando JSL en JMP?
http://worldmap.ifnews.com/chinamap/china/fmap 
Cuando el cursor apunta a un determinado rango de países en el mapa, aparecen datos
¡Gracias!
Re: ¿Cómo el JSL del software MP logra este efecto en las páginas web?En JMP, esta función se implementa a través de etiquetas flotantes:

Si necesita una actualización más rápida y tal vez no le guste la apariencia del cuadro Hoverlabel, puede usar Mousetrap.
Para más detalles, consulte la respuesta de @Craige_Hales a una pregunta similar:
https://community.jmp.com/t5/Discussions/Can-JMP-graphics-have-this-effect/mp/810221/highlight/true#M99217
Re: ¿Cómo el JSL del software MP logra este efecto en las páginas web?Como alternativa, puedes editar el script "Imagen" de HoverLabel para activar cualquier acción que desees:
- abrir una página web
- mostrar más información en el gráfico
- abrir otra parcela...
Puede encontrar más detalles en esta publicación:
Re: ¿Acciones al pasar el ratón? - Usa una tecla modificadora: backhand_index_pointing_right::white_square_button:
El beneficio de este enfoque:
Hoverlabel conoce el país de la posición actual del mouse, no es necesario buscarlo:
:Country[local:_firstrow]
Re: ¿Cómo el JSL del software MP logra este efecto en las páginas web?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/World Demographics.jmp" );
mapxy = Open( "$MAPS/World-XY.jmp" );
mapname = Open( "$MAPS/World-Name.jmp" );
mapname << New Column( "X", Format( "Longitude DDD", "PUNDIR", 14, 4 ) );
mapname << New Column( "Y", Format( "Latitude DDD", "PUNDIR", 14, 4 ) );
For Each( {rw}, Index( 1, N Rows( mapname ) ),
shapeID = mapName:ShapeID[rw];
rws = mapxy << get rows where( :ShapeID == shapeID & :PartID == 1 );
xs = mapxy[rws, "X"];
ys = mapxy[rws, "Y"];
{x, y} = Polygon Centroid( xs, ys );
mapname:x[rw] = x;
mapname:y[rw] = y;
);
dt << Update( With( mapname ), Match Columns( :Territory = :Region ), Add Columns from Update Table( :X, :Y ) );
New Namespace(
"hover"
);
hover:GDP = 0;
hover:x = 0;
hover:y = 0;
gb = Graph Builder(
Variables( Color( :GDP per Capita ), Shape( :Territory ) ),
Elements( Map Shapes() ),
SendToReport(
Dispatch( {}, "", ScaleBox,
{Format( "Longitude DDD", "PUNDIR", 16 ), Min( 0 ), Max( 30 )}
),
Dispatch( {}, "", ScaleBox( 2 ),
{Format( "Latitude DDD", "PUNDIR", 16, 0 ), Min( 40 ), Max( 50 )}
),
Dispatch( {}, "Graph Builder", FrameBox,
{Set Graphlet(
Picture(
hover:GDP = :GDP per Capita[local:_firstrow];
hover:x = :X[local:_firstrow];
hover:y = :y[local:_firstrow];
//approach1: select the current country and trigger an update -> nice, but draggy
//local:_dataTable << Clear Select << select rows(local:_firstrow);
gb << inval;
gb << updatewindow;
)
)}
)
)
);
fb1 = Report( gb )[FrameBox( 1 )];
fb1 << addgraphicsscript(
x = hover:x;
y = hover:y;
Text( center justified, {hover:x, hover:y}, "GDP: " || Char( Round( hover:GDP ) ) );
);
¿ Etiqueta flotante sabe la posición actual del mouse?
Desafortunadamente, local:_eje x/_eje y =0 .
Como solución alternativa utilicé este enfoque
https://community.jmp.com/t5/Discussions/exporting-x-amp-y-values-coordinates-from-graph-builder-once-jmp/mp/193660/highlight/true#M41407 @johnmoore para calcular el centroide del país - para mostrar el PIB.
Como alternativa, se puede utilizar Mousetrap (además de la solución alternativa Hover Label) para obtener la posición del mouse.
La desventaja: menos interactivo ya que el usuario tiene que presionar el botón del mouse.
Re: ¿Cómo el JSL del software MP logra este efecto en las páginas web?¡Gracias expertos! 