Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Aggiungi il testo "txt1" in alto a sinistra delle coordinate dell'immagine (100.100)
Grazie!

dt = Current Data Table();
P1 = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) )
//, Text( Center Justified, {100, 100 }, "txt1"); ??
);Automazione e scriptingRi: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Dispatch(
{},
"Graph Builder",
FrameBox( 2 ),
{Add Graphics Script(
9,
Description( "" ),
Text( Center Justified, {20, 70}, Char( gm ) || "——" || na9 )
)}
),Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Ci sono un paio di modi per fare quello che vuoi.È possibile utilizzare l'annotazione oppure uno script grafico.

Con Annotazione, specifichi il testo e la posizione della casella di testo.Nel JSL seguente, ho aggiunto l'annotazione all'interno della definizione del JSL del Graph Builder.Come si può vedere, la posizione della casella di testo è determinata da quella che ricordo come la posizione del pixel all'interno della casella del frame.
Aggiungi l'utilizzo dello script grafico, utilizza i valori effettivi degli assi X e Y per la sua posizione.Tuttavia, questo non è molto semplice con il tuo grafico.Poiché entrambi gli assi non sono colonne continue, ma piuttosto ordinali e nominali, JMP assegna valori interi a ciascuno dei livelli trovati nei dati, iniziando da 0. Pertanto, poiché ci sono 6 livelli di Età, l'asse X va da 0 a 5 Pertanto, quando si fa riferimento al valore X nella funzione Text(), è necessario che sia compreso nell'intervallo compreso tra -,5 e 5,5 per essere visibile.Allo stesso modo, il valore dell'asse Y deve essere compreso tra -0,5 e 1,5. Se una colonna utilizzata nel grafico è Continua, i valori effettivi dei dati vengono utilizzati nella specifica della posizione X,Y.Per questo esempio, ho utilizzato << Add Graphics Script() come esecuzione successiva alla piattaforma per aggiungere l'immagine al Frame Box().Vedi sotto.
gb = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Text Annotation(
Text( "Using Annotation" ),
Fixed Size( 0 ),
Text Box( {169, 137, 224, 200} ),
Font( "Segoe UI", 14, "Bold" ),
Filled( 0 )
), Add Text Annotation(
Text( "" ),
Fixed Size( 0 ),
Text Box( {269, 171, 286, 179} ),
Filled( 0 )
)}
)
)
);
Report( gb )[framebox( 1 )] << add graphics script(
Text Font( "Arial", 14, "Bold" );
Text( Center Justified, {1.5, .90}, "Using Add Graphics" );
);
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Non ho ancora imparato come aggiungere testo ai miei disegni.
Ad esempio, come aggiungere il testo dall'angolo in alto a sinistra 100, 100?
Grazie Esperti!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
p1 = dt << Graph Builder(
Size( 507, 440 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements( Bar( X, Y, Legend( 5 ), Bar Style( "Needle" ), Response Axis( "X" ) ) ),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ), Show Major Ticks( 0 ),
Show Minor Ticks( 0 )}
)}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ), Show Major Ticks( 0 ),
Show Minor Ticks( 0 )}
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Big Class" )} ),
Dispatch( {}, "X title", TextEditBox, {Hide( 1 )} ),
Dispatch( {}, "Y title", TextEditBox, {Hide( 1 )} )
)
);
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Di seguito è riportata una modifica al tuo script che aggiunge un'annotazione al grafico posizionando una casella di testo() a 100.100, con il testo "Big Class".Le funzioni di annotazione utilizzano i pixel per posizionare i valori.

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 776, 457 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :weight ), Y( :height ), Color( :sex ) ),
Elements(
Bar( X, Y, Legend( 5 ), Bar Style( "Needle" ), Response Axis( "X" ) )
),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ),
Show Major Ticks( 0 ), Show Minor Ticks( 0 )}
)}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row(
{Automatic Tick Marks( 0 ), Show Major Labels( 0 ),
Show Major Ticks( 0 ), Show Minor Ticks( 0 )}
)}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Big Class" )} ),
Dispatch( {}, "X title", TextEditBox, {Hide( 1 )} ),
Dispatch( {}, "Y title", TextEditBox, {Hide( 1 )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
Add Text Annotation(
Text( "Big Class" ),
Fixed Size( 0 ),
Text Box( {100,100, 150, 150} ),
Filled( 0 )
)
)
)
);
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Il testo aggiunto tramite la casella di testo non può essere salvato altrove con l'immagine originale.
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Cosa intendi con salvare altrove con l'immagine originale?
Il testo sembra essere stato salvato con questa immagine senza problemi?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(776, 457),
Show Control Panel(0),
Show Legend(0),
Variables(X(:weight), Y(:height), Color(:sex)),
Elements(Bar(X, Y, Legend(5), Bar Style("Needle"), Response Axis("X"))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Label Row({Automatic Tick Marks(0), Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)})}
),
Dispatch(
{},
"height",
ScaleBox,
{Label Row({Automatic Tick Marks(0), Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)})}
),
Dispatch({}, "graph title", TextEditBox, {Set Text("Big Class")}),
Dispatch({}, "X title", TextEditBox, {Hide(1)}),
Dispatch({}, "Y title", TextEditBox, {Hide(1)}),
Dispatch(
{},
"Graph Builder",
FrameBox,
Add Text Annotation(Text("Big Class"), Fixed Size(0), Text Box({100, 100, 150, 150}), Filled(0))
)
)
);
pic = gb << Get Picture;
gb << Close Window;
Close(dt, no save);
nw = new window("",
pic
);
pic << Save Picture("$TEMP/textbox.png", "PNG");
Open("$TEMP/textbox.png");Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Dove stai tentando di salvare l'immagine?Il JSL seguente viene salvato in più posizioni, con il testo aggiunto salvato con l'immagine
report(gb)<<JOURNAL></JOURNAL>
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?come si può usare jsl
Grazie Jim!
</CODE></P><P><CODE class=" language-jsl">
,SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script( 2, Description:( "" ), Text( Center Justified, {50, 50}, "Big Class" ) )}
)
);</CODE></P></LINGO-BODY><LINGO-SUB id="lingo-sub-703023" slang="en-US" mode="NONE">Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?</LINGO-SUB><LINGO-BODY id="lingo-body-703023" slang="en-US" mode="NONE"><PRE><CODE class=" language-jsl">nw = Report( gb )[Graph Builder Box( 1 )];
dy = New Table( "K", Add Rows( 2 ), New Column( "A", Expression ), New Column( "B", Expression ) );
dy[1, 1] = nw;
Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?Vedo
it << Ottieni immagine;
È necessario tagliare l'eccesso.

Ri: Come aggiungere testo a un grafico dopo aver disegnato utilizzando JSL?È possibile eliminare le impostazioni dell'asse e quindi copiare l'immagine. Vai in modo interattivo nelle Impostazioni degli assi, quindi puoi eliminare gli assi.Quindi salva lo script per vedere qual è il JLS per eliminare gli assi.