Maus über Datenpunkt bewegen, um Bild anzuzeigen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Weiß jemand, ob dies möglich ist?Bewegen Sie den Mauszeiger über einen Datenpunkt, wie 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 innerhalb von Hover-Labels anzuzeigen. Das angezeigte Bild und was passiert, wenn Sie darauf klicken, liegen vollständig unter der Kontrolle des Benutzers. Sie können ein Bild ganz einfach aus einer Spalte, einer Datei oder einer URL abrufen, die dynamisch basierend auf dem Diagrammkontext erstellt wurde (z. B. X- und Y-Werte Ihres Diagramms). Es ist nicht erforderlich, Bilder in der Tabelle zu speichern (obwohl dies ebenfalls 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, aber ich erhalte eine Fehlermeldung bei " Tabelle 1 : Bild [ 1 ] = p ; " sagt, 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 am Schnürchen!
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Siehe Beitrag Mausefalle und Biviariat Rahmenbox denn als ich genau die gleiche Frage hatte.
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Vielen Dank! Das war genau das, was ich brauchte. Es ist erstaunlich, was jmp kann.
Obwohl jetzt 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 wieder nicht nötig...
Vielen Dank!
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?MouseTrap muss auf eine Rahmenbox angewendet werden.Graph Builder ist eine ziemlich komplexe Anzeige, die eine Rahmenbox enthält.
Fenster = Neues Fenster ( "Wafer-Karte" ,
gb = Datentabelle ( "Datentabelle Wafer Map" ) << Graph-Generator (
Variablen ( X ( : PosX ) , Y ( : Sträußchen ) , Farbe ( : Wert ) ) ,
Elemente ( Punkte ( X , Y , Legende ( 9 ) ) ) ,
) ;
) ;
rgb = gb << Bericht ;
rgb [ Rahmenkasten ( 1 )] << Grafikskript hinzufügen ( Mausefalle ( drucken ( "Prüfung" ))) ;
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Danke Ian und msharp. Ich werde ein paar Möglichkeiten ausprobieren und sehen, welche Lösungen für uns am besten funktionieren. Die MouseTrap()-Funktion ist auf jeden Fall hilfreich, aber ich werde auch versuchen, die Bildspalte auszublenden und zu prüfen, ob wir tatsächlich durch Geschwindigkeit oder Speicher begrenzt sind.
BEARBEITEN: Ich habe Schwierigkeiten, die MouseTrap()-Funktion zum Graph Builder hinzuzufügen. Ich suchte nach einer Lösung wie dieser:
exx = 20;
exy = 50;
window = New Window( "Waferkarte",
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 );
Anzeigen (exx);
,
Zeigen (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 ist nein. Bei der Interaktion mit Diagrammen gibt es nicht viele HOVER-Funktionen.
Wenn der Benutzer auf den Punkt 'klickt', gibt es mehrere Optionen bis hin zu Mousetrap(), die mit Benutzerklicks, Ziehvorgängen usw. in einer Graphbox interagiert.Sie könnten auch einen Zeilenzustandshandler 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.Sie haben beide 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, dh. die Zeit, die es dauert, ein Bild zu generieren/eine Bilddatei in jede Zelle zu laden, würde ich nur empfehlen, die Datentabelle zu komprimieren.MÜSSEN Ihre Benutzer Bilder aus der großen Tabelle 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.
Aber wenn Ihnen dieser Ansatz nicht gefällt, sehen Sie sich 'MouseTrap()' und 'IsCommandKey()' in Hilfe > Skripting-Index an
Betreff: Maus über Datenpunkt bewegen, um Bild anzuzeigen?Hi,
Dieses Beispiel funktioniert gut für mich, 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 großen Datentabelle viel Speicher verbrauchen würde. In Anbetracht dessen lautet meine Frage, ob es möglich ist, 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 zuzuweisen.Siehe unten für ein Beispiel.
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 von Craiges Code angepasst Betreff: JMP_12: Direktes Einbetten eines JSL-Ausdrucks in eine Zeile wenn Sie sich fragen, was es sonst noch tut.