PNG-Bild von URL in einer Wafer-Map anzeigenHallo,
Ich würde gerne eine Wafermap aus der CSV-Datei sehen ... ok

aber ich würde jedes Quadrat durch ein PNG-Bild von der URL ersetzen, die in derselben CSV-Datei definiert ist ...
Habt ihr ein paar Ideen, wie das geht???
Erweiterte statistische ModellierungVerbraucher- und MarktforschungDatenzugriffDatenexploration und -visualisierungBetreff: PNG-Bild von URL in einer Wafer-Map anzeigenHallo John,
Vielen Dank !! Super!!
Vielen Dank, Jthi, für deine Hilfe und deine Lösung für JMP > v16
Lösung für JMP v15 unten
Frohe Weihnachten
Xavier

Skript JMP V15:
// JMP V15
Names Default To Here(1);
dt = Open(
"$DOWNLOADS/pokemons/Wafermap_pokemon.csv",
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(1)),
Strip Quotes(0),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(1),
Data Starts(2),
Lines To Read("All"),
Year Rule("20xx")
)
);
dt:XCoord << Data type(Numeric) << Set Modeling Type(Ordinal);
dt:YCoord << Data type(Numeric) << Set Modeling Type(Ordinal);
// reduce Filename to only filename OR use full filepath and modify Images column's formula
dt:Filename << Set Each Value(Word(-1, :Filename, "\"));
Show(Get Default Directory());
// This can be modified to get borders and so on if needfed
dt << New Column("Images", Expression, None, << Set Each Value(
Open(Get Default Directory() ||"images/" || :Filename, png);
));
:Images << Set Use For Marker;
gb = dt << Graph Builder(
Size( 522, 451 ),
Show Control Panel( 0 ),
Variables( X( :XCoord ), Y( :YCoord ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Marker Size( 15 ), Marker Drawing Mode( "Normal" )}
)
)
);Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenHallo @BiX ,
Das von mir gezeigte Beispiel war für die Verwendung mit dem Beispieldatensatz „Big Class Families.jmp“ gedacht. „height“, „weight“ und „picture“ sind Spalten in diesem Datensatz, aber nicht in der Tabelle, die Sie in Ihrem Skript erstellen.
Um „Set Use For Marker“ in Ihrem Skript zu verwenden, müssen Sie die Nachricht „Set Use For Marker“ an die Spalte „Images“ senden, die Sie in Ihrem Skript vor der Graph Builder-Funktion erstellen.
Ersetzen Sie dazu alles, was mit „height = 20;“ beginnt. zum Schluss mit folgendem:
:Images << Set Use For Marker;
gb = dt << Graph Builder(
Size( 522, 451 ),
Show Control Panel( 0 ),
Variables( X( :XCoord ), Y( :YCoord ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Marker Size( 15 ), Marker Drawing Mode( "Normal" )}
)
)
);
Beachten Sie, dass ich den SendToReport-Code wieder hinzugefügt habe, um die Markierungsgröße auf 15 zu setzen, den Sie zuvor in diesem Beitrag hatten.Wenn Sie die Größe des Diagramms ändern, möchten Sie möglicherweise auch die Markierungsgröße ändern.
Bitte lassen Sie uns wissen, wie das für Sie funktioniert.
Danke,
~John
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenDanke John,
Ich versuche erfolglos, Ihren Vorschlag in Jthis Skript umzusetzen ...
Könnten Sie mir bitte Ihr Update vorschlagen?
rgds
"
Namen standardmäßig hier(1);
dt = Öffnen(
„$DOWNLOADS/pokemons/Wafermap_pokemon.csv“,
Importeinstellungen(
Zeilenende (CRLF, CR, LF),
Feldende (Komma, CSV(1)),
Strip-Zitate(0),
Verwenden Sie Apostroph als Anführungszeichen(0),
Regionale Einstellungen verwenden(0),
Ganze Datei scannen(1),
Behandeln Sie leere Spalten als numerisch(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Etiketten(1),
Spaltennamen Start(1),
Datenstarts(2),
Zu lesende Zeilen("Alle"),
Jahresregel("20xx")
)
);
dt:XCoord << Datentyp (Numerisch) << Modellierungstyp festlegen (Ordinalzahl);
dt:YCoord << Datentyp (Numerisch) << Modellierungstyp festlegen (Ordinal);
// Reduzieren Sie den Dateinamen auf nur den Dateinamen ODER verwenden Sie den vollständigen Dateipfad und ändern Sie die Formel der Bilderspalte
dt:Filename << Set Each Value(Word(-1, :Filename, "\"));
Show(Standardverzeichnis abrufen());
// Dies kann geändert werden, um bei Bedarf Ränder usw. zu erhalten
dt << Neue Spalte("Bilder", Ausdruck, Keine, << Jeden Wert festlegen(
Open(Get Default Directory() ||"images/" || :Filename, png);
));
Höhe = 20;
Gewicht = 20;
gb = dt << Graph Builder(
Größe(522, 451),
Systemsteuerung anzeigen(0),
Variablen(X(:XCoord), Y(:YCoord)),
:Bilder << Verwendung für Markierung festlegen;
Bivariate( Y(:height),X(:weight) );
Bivariat[]
);
"
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigen@jthi hat einen guten Vorschlag.Set Use for Marker wurde in JMP 14 gemäß dem Scripting Index implementiert:

Wenn Sie eine Funktion zum ersten Mal verwenden, sollten Sie sie im Skriptindex im Hilfemenü nachschlagen.
Möglicherweise möchten Sie auch das eingebettete Protokoll im Skripteditor aktivieren (Rechtsklick > Eingebettetes Protokoll anzeigen), damit Sie Fehler sehen können, wenn Sie Ihr Skript ausführen.

Hoffe das hilft,
~John
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenIch bin nicht sicher, wann es implementiert wurde (ich verwende JMP16). Sie könnten versuchen, die Spalte „Bilder“ als Markierungsspalte zu verwenden, die ich in meiner ersten Nachricht in diesem Thread vorgeschlagen habe. Hoffentlich funktioniert das (ich denke, in diesem Fall müssen Sie diesen Teil aus dem Graph Builder entfernen).
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenHallo Jthi,
Danke noch einmal.
Tut mir leid, ich habe immer Punkt- oder Kreisbilder anstelle von Pokémon-Bildern.
Ich vermute, dass der Befehl „Set Shape Column(:Images))“ auf meiner Seite nicht funktioniert? (in V15.0.0 oder V15.2.1)

Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenDer Graph Builder wurde möglicherweise aus einer falschen Datentabelle erstellt. Basierend auf den Fensternamen: Der Graph Builder verwendet die Tabelle Wafermap_pokemon_2 und die sichtbare Datentabelle ist Wafermap_pokemon_2 2 ). Vielleicht ist in der Datentabelle Wafermap_pokemon_2 die Bildspalte nicht richtig eingestellt?
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenHallo Jthi, danke für deine Hilfe.
Aber ich erhalte Kreise anstelle von Pokémon-Bildern ... ein Diagrammparameter zum Ändern?
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenBehalten Sie in der Spalte „Dateiname“ den Wert „Zeichen“ bei. Ich würde auch vorschlagen, vollständige Pfade der Bilder zu verwenden, da dies das Laden der Bilder erleichtert (wenn Sie das nicht können, ist es möglicherweise am einfachsten, Get Default Directory() oder Convert File Path() zu verwenden, um die Spalte für das Laden von Bildern zu erstellen ). Auch die Verwendung von Bildern als Markierungen macht sie (höchstwahrscheinlich) von der Diagrammgröße und der verwendeten Markierungsgröße abhängig. Wenn alle Bilder die gleiche Größe haben und Sie keinen Graph Builder benötigen, kann auch die Erstellung einer benutzerdefinierten Anzeige eine Option sein.
Meine Bilder, CSV und Bilder befinden sich im Ordner Downloads/Pokemons

Ich habe im Skript einige Pfadbereinigungen für Pfade vorgenommen
Mehr sehen...
Names Default To Here(1);
dt = Open(
"$DOWNLOADS/pokemons\Wafermap_pokemon_2.csv",
Import Settings(
End Of Line(CRLF, CR, LF),
End Of Field(Comma, CSV(1)),
Strip Quotes(0),
Use Apostrophe as Quotation Mark(0),
Use Regional Settings(0),
Scan Whole File(1),
Treat empty columns as numeric(0),
CompressNumericColumns(0),
CompressCharacterColumns(0),
CompressAllowListCheck(0),
Labels(1),
Column Names Start(1),
Data Starts(2),
Lines To Read("All"),
Year Rule("20xx")
)
);
dt:XCoord << Data type(Numeric) << Set Modeling Type(Ordinal);
dt:YCoord << Data type(Numeric) << Set Modeling Type(Ordinal);
// reduce Filename to only filename OR use full filepath and modify Images column's formula
dt:Filename << Set Each Value(Word(-1, :Filename, "\"));
Show(Get Default Directory());
// This can be modified to get borders and so on if needfed
dt << New Column("Images", Expression, None, << Set Each Value(
Open(Get Default Directory() ||"images/" || :Filename, png);
));
gb = dt << Graph Builder(
Size(522, 451),
Show Control Panel(0),
Variables(X(:XCoord), Y(:YCoord)),
Elements(Points(X, Y, Legend(3), Set Shape Column(:Images))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Marker Size(15), Marker Drawing Mode("Normal")}
)
)
);
dt << New Column("ImagesWithBorder", Expression, None, << Set Each Value(
Local({bb, img},
bb = Border Box(Left(15, Empty()), Right(15, Empty()), Top(15), Bottom(15),
img = Picture Box(Open(Get Default Directory() ||"images/" || :Filename, png))
);
bb << Background Color("Orange");
img << Background Color("White");
bb << Get Picture;
);
));
gb = dt << Graph Builder(
Size(457, 714),
Show Control Panel(0),
Variables(X(:XCoord), Y(:YCoord)),
Elements(Points(X, Y, Legend(3), Set Shape Column(:ImagesWithBorder))),
SendToReport(Dispatch({}, "Graph Builder", FrameBox, {Marker Size(30), Marker Drawing Mode("Normal")}))
);
Datentabelle:

Ohne Ränder und Markierungsgröße 15

Ränder und Markierungsgröße 30:

Wenn ich die Diagrammgröße ändere, wird die Markierungsgröße nicht mithalten:

Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenVersuche dies:
Nachdem Sie die CSV-Datei mit den X/Y-Daten und den Dateipfaden importiert haben, verwenden Sie das Add-In von
https://community.jmp.com/t5/Discovery-Summit-Americas-2020/Images-in-Data-Tables-and-lated-JSL-Tools-2020-US-30MP-585/ta-p/281528
indem Sie auf klicken

Letzter Schritt: Generieren Sie das GraphBuilder-Diagramm und laden Sie die Bilder über:

Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenHallo jthi,
Wenn ich mein Skript ausführe, erhalte ich nicht die Wafermap mit allen Pokemon-Bildern ...
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenWas bereitet Ihnen Probleme? Haben Sie es geschafft, die Bilder korrekt in die Datentabelle zu übertragen?
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenDesole, ich bin ihr Debütant und habe mich nicht wiedergefunden, Meme mit deinen Ratschlägen, ich habe dieses Diagramm realisiert, mit den Bildern und dem CSV-Archiv als Entree. Ich erneuere meine Hilfe.merci par avance

Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenTous, Merci de vos Propositions. Ich habe den Aufsatz gelesen.
Ich habe schon versucht, die Bilder in einer Spalte auf dem Tisch zu sehen, aber ich muss nicht auf das URL-Format mit einem Windows-Typ zugreifen (z. B. //server.com/directory/image.png)
Wenn Sie Vorschläge für Codes haben, um das Bild in einer JMP-Datenbank anzubringen ... sind Sie daran interessiert.
Merci
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenUm die Bilder als Formen für die Datenpunkte zu verwenden, können Sie die Spalte auch über angeben Formspalte festlegen im GraphBuilder-Befehl.
Oder später, indem Sie mit der rechten Maustaste in das GraphBuilder-Fenster klicken und dort „Formspalte festlegen ...“ auswählen.
Dies ermöglicht die Verwendung unterschiedlicher Spalten für unterschiedliche Diagramme – und einige Diagramme mit Standardmarkierungen.

Eine tolle Möglichkeit, die Bilder in die Datentabelle zu bekommen, wird hier erklärt:
https://community.jmp.com/t5/Discovery-Summit-Americas-2020/Images-in-Data-Tables-and-lated-JSL-Tools-2020-US-30MP-585/ta-p/281528
Wenn die Links in einer Spalte aufgelistet sind, genügt ein Klick (Imagetable_Import_Images) und sie werden automatisch geladen.
Open( "$SAMPLE_DATA/Big Class Families.jmp" );
New Column( "X", Numeric, "Continuous", Format( "Best", 12 ), Formula( Mod( Row() - 1, 7 ) ), Set Selected );
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ), Formula( Floor( (Row() - 1) / 7 ) ), Set Selected );
Graph Builder(
Size( 511, 500 ),
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ) ),
Elements( Points( X, Y, Legend( 3 ), Set Shape Column( :picture ) ) ),
Dispatch( {}, "400", ScaleBox, {Legend Model( 3, Properties( 0, {Marker Size( 10 )}, Item ID( "Y", 1 ) ) )} )
)Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenFügen Sie Text zu einem Bild hinzu könnte dir ein paar Ideen geben.
JMP bietet drei Möglichkeiten, über Bilder nachzudenken.
- Ordnen Sie die Bilder in Diagrammen an und verwenden Sie die X- und Y-Achsen zur Positionierung und Skalierung sowie die Reihenfolge der Bilder, um zu bestimmen, was oben liegt.
- Verwenden Sie die Bildfunktionen, um Bildobjekte zu laden, zuzuschneiden und ihre Größe anzupassen (die anschließend als PNG oder JPG gespeichert werden können).
- Verschieben Sie die Bildobjekte in Matrizen und verwenden Sie Matrixoperationen, um die Pixel zu manipulieren. Gehen Sie zurück zu den Bildobjekten, um ein Bild zu speichern.
Sie sollten (1) verwenden, wenn Sie bereits ein Diagramm erstellen. Schauen Sie sich die zweite Antwort hier an:
// you could use a loop to add a bunch of images to the framebox
// <<ADDIMAGE adds="" at="" the="" front="" of="" the="" display="" list.="" the="" first=""></ADDIMAGE>
Betreff: PNG-Bild von URL in einer Wafer-Map anzeigenSie können versuchen, Bilder als Markierungen zu verwenden Verwenden von JMP > JMP-Berichte > Markierungen in Diagrammen verwenden > Bilder als Markierungen verwenden nachdem Sie die Bilder in der Datentabelle haben. Und wie Sie diese Bilder erhalten, hängt stark davon ab, wie Ihre URLs funktionieren. Möglicherweise können Sie die Ausdrucksspalte mit einer Formel wie „Öffnen (URL)“ verwenden. Um die richtigen Größen zu finden, ist möglicherweise etwas Bastelarbeit erforderlich.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
New Column("url",
Character,
"Nominal",
Set Values(
{
"https://www.jmp.com/en_us/download-jmp-free-trial/_jcr_content/par/contenttargetingcont/par_off/styledcontainer_cdbe/par/image_f589.img.png/1520449222936.png"
}
)
),
New Column("Column 2", Expression, "None", Formula(Open(:url)), Use for Marker)
);
gb = dt << Graph Builder(
Size(496, 466),
Show Control Panel(0),
Variables(X(:url)),
Elements(Points(X, Legend(2)))
);
Es kann auch sinnvoll sein, den erneuten Download der Bilder zu verhindern, wenn sie bereits einmal heruntergeladen wurden