Costruttore di grafici > Aggiungi script grafico > Aggiungi Personalizza Forma, Icone o Immagine?Ciao comunità JMP,
Analogamente ai comandi di Graphics Script Cerchio, Ovale e Rettangolo, è possibile inserire in un FrameBox forme, icone o immagini personalizzate?
Da notare, lo sono non alla ricerca di marcatori di punti dati personalizzati.
Ecco uno snippet del tipo di script grafico con cui sto lavorando (gb è una mappa termica del generatore di grafici) in cui vorrei sostituire il Cerchio con una forma personalizzata:
gbr = report (gb);
fb = gbr [FrameBox (1)];
fb << add graphics script (
Fill color (black);
For (i = 0, i <= 24, i++,
For (j = 0.5, j <= 7, j = j+2,
r = (i*8) + (j+0.5);
s = column (dt,"SIZE FDR") [r] / 8;
if (s < 0.02, s = 0.02);
circle ({i,j}, s, "FILL")
)
);
);
Grazie per l'aiuto.
Migliore,
ST
Personalizzazione di massaRe: Costruttore di grafici > Aggiungi script grafico > Aggiungi Personalizza Forma, Icone o Immagine?C'è anche un PixelPath() funzione. Se riscontri problemi di prestazioni, forse con migliaia di punti, PixelPath consente di riposizionare, ridimensionare e ruotare un percorso esistente. (non vedo come farlo con Sentiero() .) Puoi pre-creare le stelle una volta, quindi riutilizzarle con PixelPath.
Path() e PixelPath() si comportano in modo diverso quando estendi il grafico: Path disegna le coordinate dell'utente e il disegno si allunga per adattarsi agli assi correnti. PixelPath disegna in pixel e i simboli non cambiano dimensione.
L'indice di scripting ha un esempio per PixelPath; usa PixelOrigin(x,y) e lascia h,v a 0,0.
Re: Costruttore di grafici > Aggiungi script grafico > Aggiungi Personalizza Forma, Icone o Immagine?
N-pointed starsN-pointed starsStelle a N punte
makestar = Function( {x, y, npoints, inside, outside},
{p = J( 2 * npoints, 3, . ), angle, i, move = 1, draw = 2},
For( i = 1, i < N Rows( p ), 0,
angle = 2 * Pi() * i / N Rows( p );
p[i, 1] = x + Sin( angle ) * inside; // sin and cos are reversed here to
p[i, 2] = y + Cos( angle ) * inside; // make the point be at the top.
p[i, 3] = If( i == 1, move, draw ); // swap sin/cos for point at left.
i += 1;
angle = 2 * Pi() * i / N Rows( p );
p[i, 1] = x + Sin( angle ) * outside; // ditto
p[i, 2] = y + Cos( angle ) * outside;
p[i, 3] = If( i == N Rows( p ), -draw, draw );
i += 1;
);
p; // return
);
New Window( "Example",
gb = Graph Box(
xaxis( Show Major Grid( 1 ) ),
yaxis( Show Major Grid( 1 ) ),
framesize( 500, 500 ),
Pen Color( "red" );
Pen Size( 3 );
Fill Color( "blue" );
npoints = 3; // each star gets more points below
For( xx = 20, xx <= 80, xx += 20,
For( yy = 20, yy <= 80, yy += 20,
// the inside/outside ratio needs to change with more points...
p = makestar( xx, yy, npoints, 2 + npoints / 4, 8 );
Path( p, 1 ); // blue solid fill
Path( p, 0 ); // red outline
npoints += 1;
)
);
)
);
// move the grid lines above the stars
grid = gb[framebox( 1 )] << find seg( SegPlaceholder( 1 ) );
// grid is the original, below the stars
gb[framebox( 1 )] << appendseg( grid ); // makes a copy above
// probably not needed...they are on top of each other...
grid << delete; // delete the original from below
Re: Costruttore di grafici > Aggiungi script grafico > Aggiungi Personalizza Forma, Icone o Immagine?Caro Craig,
Grazie per il suggerimento, esaminerò questo metodo. Tuttavia, potrei non aver fornito dettagli sufficienti per ottenere il feedback che sto specificamente cercando.
Nel caso specifico su cui sto lavorando, aggiungo forme a una mappa di calore tra le celle per denotare il significato del contrasto tra queste. Finora, tutto funziona come previsto utilizzando Circles, ma ora sto cercando di fare la stessa cosa con un'altra forma come una stella o un'altra forma personalizzata.
Distinti saluti,
STRe: Costruttore di grafici > Aggiungi script grafico > Aggiungi Personalizza Forma, Icone o Immagine?funzione percorso()?
Interpolazione di Bézier E Bezier Tree usando Path () (e l'indice di scripting probabilmente ha più semplici non- Bezier esempi.)
Anche la proprietà della colonna UseForMarker funziona sulle colonne dell'immagine, ma sembra che potresti non avere un punto dati per ogni indicatore.
Penso che l'unico modo per ottenere immagini o icone senza UseForMarker sia creare seg di immagini separate per ciascun marker. Possono essere posizionati, seg-by-seg.