Betten Sie ein Bild einer Datentabelle in ein Diagramm ein.
@Neo fragte : „Ist es möglich, eine Zeile und Spalten aus einer geöffneten Tabelle als Einfügung in ein Diagramm zu erhalten?“
fontscale = 2; // scale up as needed. make the font bigger to make the image bigger.
picScale = .42; // scale down to fit. less than one to prevent pixelation.
topFraction = 0.95; // 0 at bottom, 1 at top of frame
bottomFraction = 0.05; // 0 at left, 1 at right of frame
dt = Open( "$sample_data/big class.jmp" );
// take a picture of the data
box = dt << journal;
oldFont = Get Preferences( fonts );
Preferences( Fonts( English( Text Font( "Segoe UI", 9 * fontscale ), Heading Font( "Segoe UI", 12 * fontscale, "Bold" ), ) ) );
pic = box << getpicture;
{xPixPixels, yPicPixels} = pic << size;
box << closewindow;
Eval( oldFont );
// make the graph
gb = Graph Builder(
Show Control Panel( 0 ),
Size( 1158, 894 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
);
// add the image
{xFramePixels, yFramePixels} = (Report( gb )[FrameBox( 1 )]) << getsize;
xmin = (Report( gb )[axisBox( 1 )]) << getmin;
xmax = (Report( gb )[axisBox( 1 )]) << getmax;
xUnitsPerPixel = (xmax - xmin) / xFramePixels;
ymin = (Report( gb )[axisBox( 2 )]) << getmin;
ymax = (Report( gb )[axisBox( 2 )]) << getmax;
yUnitsPerPixel = (ymax - ymin) / yFramePixels;
topPos = ymin + (ymax - ymin) * topFraction;
leftPos = xmin + (xmax - xmin) * bottomFraction;
bottomPos = topPos - picScale * yPicPixels * yUnitsPerPixel;
rightPos = leftPos + picScale * xPixPixels * xUnitsPerPixel;
(Report( gb )[FrameBox( 1 )]) << Add Image( image( pic ), bounds( top( topPos ), Left( leftPos ), bottom( bottomPos ), Right( rightPos ) ) );
// clean up. this will capture a picture and close the report and data table
gb << savepicture( "$temp/example.png" );
gb << closewindow;
Close( dt, nosave );
Open( "$temp/example.png" );
A picture of a journaled data table embedded in a graph.Ein Bild einer in ein Diagramm eingebetteten Journaldatentabelle.
Wenn Sie mit der rechten Maustaste auf „Diagramm anpassen“ klicken, können Sie sehen, dass Bilder standardmäßig hinter das Diagramm eingefügt werden.
The list items are drawn in order from top to bottom (painter's algorithm.) The picture is below the graph.Die Listenelemente werden der Reihe nach von oben nach unten gezeichnet (Painter-Algorithmus). Das Bild befindet sich unter der Grafik.
Sie können das zu zeichnende Bild zwar hinter die Grafik verschieben, das ist aber in der Regel nicht wünschenswert.
The picture has a solid white background that blocks the graph.Das Bild hat einen einfarbig weißen Hintergrund, der die Grafik blockiert.
Ich weiß, dass es etwas vom ursprünglichen Thema abweicht, aber hat JMP jemals in Betracht gezogen, monotone Glätter in Graph Builder einzufügen? Es wäre eine gute Option für Situationen wie diese, in denen wir eine ziemlich gute Vorstellung davon haben, dass die Beziehung monoton sein sollte.