Rendere la scala "Dimensione" di Graph Builder adattata agli assiSupponiamo di avere un set di dati di difetti rilevati sulla superficie di prodotti fabbricati che si presenta in questo modo:
| SN | X(centimetro) | Y(cm) | Diametro (cm) |
| 0001 | 2.3 | 1.15 | 0,04 |
| 0001 | 2.7 | 0,44 | 0,12 |
| 0001 | 1.5 | 2.6 | 0,35 |
| 0002 | 5.4 | 1.9 | 0,17 |
| 0002 | 3.1 | 4.1 | 0,59 |
In Graph Builder, dato che applico il filtro dati locale all'SN e traccio X(cm)->X, Y(cm)->Y e Diametro(cm)->Dimensione, esiste un modo per far sì che le dimensioni dei punti risultanti siano disegnate in scala sul grafico?
Esplorazione e visualizzazione dei datiRe: Rendere la scala "Dimensione" di Graph Builder adattata agli assisoluzione semplice, ma non perfettamente scalabile

Risolvere il problema con pochi clic:
Nel generatore di grafici ho inserito X e Y nelle caselle degli assi X e Y, quindi ho trasferito SN nel ruolo colore e Diametro nel ruolo dimensione.
Ecco come apparirebbe lo script:
Graph Builder(
Size( 409, 391 ),
Variables(
X( :"X(cm)"n ),
Y( :"Y(cm)"n ),
Color( :SN ),
Size( :"Diameter(cm)"n )
),
Elements( Points( X, Y, Legend( 9 ) ) )
);
Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiSembra che tu abbia replicato bene il processo nella domanda. Speravo che qualcuno conoscesse un'opzione shift-click o qualcos'altro che potesse aiutare con la scalabilità.
Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiPenso che potresti doverlo fare con uno script grafico. Di seguito è riportata una soluzione molto rapida e improvvisata, che può dare un'idea di cosa potresti fare
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("SN", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 1, 2, 2])),
New Column("X(cm)", Numeric, "Continuous", Set Values([2.2999999999999998, 2.7000000000000002, 1.5, 5.4000000000000004, 3.1000000000000001])),
New Column("Y(cm)", Numeric, "Continuous", Set Values([1.1499999999999999, 0.44, 2.6000000000000001, 1.8999999999999999, 4.0999999999999996])),
New Column("Diameter(cm)",
Numeric,
"Continuous",
Set Values([0.040000000000000001, 0.12, 0.34999999999999998, 0.17000000000000001, 0.58999999999999997])
)
);
gb = dt << Graph Builder(
Size(518, 454),
Show Control Panel(0),
Lock Scales(1),
Variables(X(:"X(cm)"n), Y(:"Y(cm)"n), Size(:"Diameter(cm)"n)),
Elements(Points(X, Y, Legend(5))),
Local Data Filter(Add Filter(columns(:SN), Modeling Type(:SN, Nominal)))
);
frame = Report(gb)[FrameBox(1)];
Eval(EvalExpr(
frame << Add Graphics Script(
cur_gb = Expr(Report(gb));
fb = cur_gb[FrameBox(1)];
ms = fb << Find Seg(Marker Seg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
For(i = 1, i <= N Items(xs), i++,
dt = cur_gb << Get Data Table;
m_rows = dt << Get Rows Where(:"X(cm)"n == xs[i] & :"Y(cm)"n);
diam = dt[m_rows, "Diameter(cm)"][1];
Circle({xs[i], ys[i]}, diam/2);
);
);
));

Leggi anche come si comporta il raggio del cerchio https://www.jmp.com/support/help/en/18.0/#page/jmp/graphics-functions.shtml?os=win&source=application#ww2626013
Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiGrazie, @jthi : è evidente che hai una padronanza impressionante di jsl!
Sembra una capacità che JMP dovrebbe avere e sembra che sarebbe facile da integrare nelle impostazioni delle dimensioni del marcatore (almeno da una prospettiva di interfaccia utente). Lo aggiungerò alla lista dei desideri.
Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiArticolo della lista dei desideri pubblicato qui:
Graph Builder: abilita il dimensionamento dei punti in base agli assi con la zona di rilascio delle dimensioni - JMP User Community
@jthi -- va bene se copio/incollo l'immagine di esempio qui sopra nell'elemento della lista dei desideri?
Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiCerto. Potresti modificarlo un po' per usare l'argomento "FILL" in Circle in modo che assomigli a qualcosa del genere (potrebbe essere una buona idea nascondere la legenda quando lo fai perché i cerchi contengono le informazioni sulle dimensioni, non i marcatori sottostanti)

Re: Rendere la scala "Dimensione" di Graph Builder adattata agli assiNon ho seguito bene tutta la discussione, ma ho pensato che alcune note potessero essere utili.
- C'è un comando "Size to Isometric" in Right Click > Graph > Size/Scale > Size To Isometric. Ridimensiona il grafico in modo che X e Y abbiano gli stessi valori per pixel. Tuttavia, non persiste.
- La variabile dimensione è rappresentata come area del cerchio, non come diametro.
- Alcune versioni fa abbiamo aggiunto la funzionalità Marker Draw Expo ai marcatori e al Graph Builder (denominata Shape Expressions nel menu Punti-triangolo rosso).

Graph Builder(
Size( 496, 501 ),
Show Control Panel( 0 ),
Lock Scales(1),
Variables( X( :"X(cm)"n ), Y( :"Y(cm)"n ) ),
Elements(
Points( X, Y, Legend( 5 ),
Set Shape Expression(
Expr(
Function( {this seg, this row, x, y, pixel size, row state},
{r = :"Diameter(cm)"n / 2},
Oval( x - r, y + r, x + r, y - r, 1 )
)
)
)
)
),
Local Data Filter( Add Filter( columns( :SN ), Modeling Type( :SN, Nominal ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox, {Size To Isometric} )
)
);