Bewegen Sie die Maus über den Datenpunkt, um das Bild anzuzeigen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Weiß jemand, ob das möglich ist?Bewegen Sie die Maus über einen Datenpunkt, z. B. ein Diagramm, und lassen Sie ein JPG/GIF-Bild in einem Fenster oder einer Art Anzeigefeld erscheinen.
Ich kenne und verwende <Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?
In JMP 15.0 haben wir eine Funktion namens Graphlets hinzugefügt, die (unter anderem) die Möglichkeit bietet, Bilder bei Bedarf in Hover-Labels anzuzeigen. Das angezeigte Bild und was passiert, wenn Sie darauf klicken, unterliegt vollständig der Kontrolle des Benutzers. Sie können ein Bild ganz einfach aus einer Spalte, aus einer Datei oder von einer URL abrufen, die dynamisch basierend auf dem Diagrammkontext (z. B. X- und Y-Werte Ihres Diagramms) erstellt wird. Es ist nicht erforderlich, Bilder in der Tabelle zu speichern (obwohl dies auch unterstützt wird).
Sie können diese Funktionalität im folgenden Dateiaustausch in Aktion sehen
https://community.jmp.com/t5/JMP-Scripts/WikiReader-Augmenting-Hover-Labels-with-web-data-and-images/ta-p/237488
Weitere Informationen zu Graphlets finden Sie unter https://www.jmp.com/content/dam/jmp/documents/en/support/jmp15/using-jmp.pdf , Seite 512.
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Danke
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Ja, das obige Skript nutzt Ausdrucksspalten, die meines Erachtens erst mit JMP 12 eingeführt wurden.
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Hallo, ich habe versucht, dieses Skript auszuführen, erhalte jedoch die Fehlermeldung „ Tabelle 1 : Bild [ 1 ] = P ; " besagt, dass der Spaltentyp nicht übereinstimmt. Ist Das weil ich JMP 10 verwende?
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Danke noch einmal. Jetzt funktioniert alles wie ein Zauber!
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Siehe Beitrag Mausefalle und Bivier-Rahmenbox denn als ich genau die gleiche Frage hatte.
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Danke schön! Das war genau das, was ich brauchte. Es ist erstaunlich, was jmp leisten kann.
Obwohl nun das Bild des Chips angezeigt wird, wenn ich darauf klicke, frage ich mich, warum der Datenpunkt (Chip) in der Karte nicht mehr markiert / ausgewählt ist. Aber das ist ja auch nicht wirklich nötig...
Danke!
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?MouseTrap muss auf eine Rahmenbox angewendet werden.Der Graph Builder ist eine ziemlich komplexe Anzeige, die ein Rahmenfeld enthält.
Fenster = Neues Fenster ( „Waferkarte“ ,
GB = Datentabelle ( „Datentabelle Wafer-Karte“ ) << Graph Builder (
Variablen ( X ( : PosX ) , Y ( : Sträußchen ) , Farbe ( : Wert ) ) ,
Elemente ( Punkte ( X , Y , Legende ( 9 ) ) ) ,
) ;
) ;
RGB = GB << Bericht ;
RGB [ Rahmenbox ( 1 )] << Grafikskript hinzufügen ( Mausefalle ( drucken ( "prüfen" ))) ;
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Vielen Dank, Ian und msharp. Ich werde einige Möglichkeiten ausprobieren und sehen, welche Lösungen für uns am besten funktionieren. Die Funktion MouseTrap() ist auf jeden Fall hilfreich, aber ich werde auch versuchen, die Bildspalte auszublenden und prüfen, ob wir tatsächlich durch Geschwindigkeit oder Speicher eingeschränkt sind.
BEARBEITEN: Ich habe Schwierigkeiten, die MouseTrap()-Funktion zum Graph Builder hinzuzufügen. Ich habe nach einer Lösung wie dieser gesucht:
exx = 20;
exy = 50;
window = Neues Fenster( "Wafer Map",
gb = Data Table("Data Table Wafer Map") << Graph Builder(
Variablen( X( :PosX ), Y( :PosY ), Farbe( :Wert ) ),
Elemente( Punkte( X, Y, Legende( 9 ) ) ),
Mausefalle(
exx = X( :PosX );
exy = Y( :PosY );
Show(exx);
,
Show(exy);
)
);
);
Ehrlich gesagt habe ich nur geraten, als ich die Funktion MouseTrap() eingefügt habe, aber ich habe keine Informationen über die kombinierte Verwendung von Graph Builder und MouseTrap gefunden.
Ist es möglich, die MouseTrap()-Funktion mit Graph Builder zu verwenden?
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Ich glaube, die kurze Antwort lautet nein. Bei der Interaktion mit Diagrammen stehen nicht viele HOVER-Funktionen zur Verfügung.
Wenn der Benutzer auf den Punkt „klickt“, gibt es mehrere Optionen für „mousetrap()“, die mit dem Klicken, Ziehen usw. des Benutzers in einem Diagrammfeld interagiert.Sie können auch einen Zeilenstatus-Handler verwenden, der Skripts ausführt, wenn Benutzer mit einer Datentabelle interagieren. Wenn Sie beispielsweise einen Punkt in einem Diagramm auswählen, wird auch die Datentabellenzeile ausgewählt, die Ihr Handler dann zum Ausführen eines Skripts verwenden könnte.Beide haben ihre Vor- und Nachteile.
Wie auch immer, wenn Erinnerungen das einzige Problem sind, sollten Sie Ians Lösung in Betracht ziehen, einfach die Datentabelle und/oder die Spalte auszublenden.Wenn Sie sich Sorgen um die Geschwindigkeit machen, z. Aufgrund der Zeit, die zum Erstellen eines Bilds/Ladens einer Bilddatei in jede Zelle benötigt wird, würde ich lediglich empfehlen, die Datentabelle zu komprimieren.MÜSSEN Ihre Benutzer Bilder vom großen Tisch sehen?Können Sie die Daten unterteilen, um kleinere Datensätze zu erstellen, mit denen die Benutzer dann interagieren können?
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Obwohl ich es nicht überprüft habe, stelle ich mir vor, dass „leere“ Zellen in einer Ausdrucksspalte fast keinen Overhead haben. Und Sie könnten diese Spalte ausblenden oder die Tabelle bei Bedarf unsichtbar machen.
Wenn Ihnen dieser Ansatz jedoch nicht gefällt, schauen Sie sich „MouseTrap()“ und „IsCommandKey()“ unter Hilfe > Skriptindex an
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Hallo,
Dieses Beispiel funktioniert für mich gut, aber ich bin an einer anderen Lösung interessiert. Das Problem ist, dass ich lieber nicht jede Zeile mit einem Bild füllen möchte, da dies in einer Big-Data-Tabelle viel Speicher verbrauchen würde. Vor diesem Hintergrund lautet meine Frage: Ist es möglich, Code in einer Ausdrucksspalte auszuführen, wenn die Maus über einem Datenpunkt schwebt? Dann könnte die X- und Y-Position dieses Punktes als Argument in der Ausdrucksspalte verwendet werden, um das entsprechende Bild zu öffnen.
Ist das möglich?
Vielen Dank!
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Ja, es ist möglich. Am einfachsten ist es, einfach eine Spalte mit Bildern hinzuzufügen und dieser Spalte eine Beschriftungseigenschaft zu geben.Ein Beispiel finden Sie weiter unten.
Names Default to Here(1);table1 = New Table( "one", Add Rows( 1 ), New Column( "pic", Expression, Set Values( {Empty()} ) ));// make random imaged = J(25,50,rgbcolor(randomuniform(),randomuniform(),randomuniform()));p = newimage(d);// store in table1table1:pic[1] = p;// make a new tabletable2 = New Table( "two", Add Rows( 1 ), New Column( "pic", Expression, Set Values( {Empty()} ) ));// put two copies in table 2, from table 1table2:pic[1] = table1:pic[1];table2<table2:pic[2] = table1:pic[1];//Add X/Y columnstable2 << New Column("X", Numeric, Continous, Set Values({1,2}));table2 << New Column("Y", Numeric, Continous, Set Values({2,1}));//label pic columntable2:pic << Label;//open bivariate analysisbiv = table2 << Bivariate( Y( :Y ), X( :X ) );Das folgende Skript wurde aus Craiges Code adaptiert Betreff: JMP_12: Einen JSL-Ausdruck direkt in eine Zeile einbetten wenn Sie sich fragen, was es sonst noch macht.