GX-TXT 0.9.8.10-dev-031 plot.dataset 3.12.2 GUI + PlotSpec + 3D + Large Dataset Guida in italiano

GX-TXT — Guida completa a Scientific Dataset Plot

plot.dataset è il modulo di GX-TXT dedicato alla costruzione di grafici scientifici persistenti a partire dai Dataset canonici del framework. Questa guida copre il flusso GUI quotidiano, Series, famiglie, filtri, secondo Dataset, doppio asse Y, multi-panel, region selection, stili avanzati, 3D, riduzione dei grandi Dataset, Variant, export e un'appendice sulle API pubbliche.

Indice

1. Versione e provenienza della guida

La baseline di questa guida è GX-TXT 0.9.8.10-dev-031. Il modulo presente nella build è Scientific Dataset Plot / plot.dataset 3.12.2.

Materiale di audit usato
È stato esaminato l'audit esteso in H:\work-agent\plotdataset-audit\plotdataset_extended_gui_audit.zip, eseguito il 2 ottobre 2026 su GX-TXT dev-023 ma con la stessa versione del modulo plot.dataset 3.12.2. L'audit contiene Session, Dataset, configurazioni e PNG esportati. I casi grafici di questa guida sono ricostruiti dai Dataset dell'audit per renderli leggibili e autosufficienti nell'HTML.
Aggiornamento alla dev-031
Le descrizioni di funzionalità, opzioni, multi-panel, large Dataset, 3D e API sono state controllate sui sorgenti e sulla documentazione della dev-031. Dove l'audit non ha esercitato direttamente una funzione, la guida lo segnala.

2. Il modello mentale corretto

Per usare bene Plot Dataset è utile separare quattro concetti.

Dataset canonico

È la sorgente scientifica registrata nella Sessione. Lo script o il grafico deve riferirsi al Dataset ID, non a un percorso CSV/HDF5 fisico.

Variable ID

X, Y, Z, family, color e variabili ausiliarie sono identificate con ID canonici. Etichette e unità sono metadati; l'identità è il Variable ID.

Graph Series

Per il 2D, CORE conserva l'autorità scientifica della serie: dataset_id + x_variable_id + y_variable_id + axis + order, più un Series ID stabile.

PlotSpec / Variant

La presentazione — stile, errori, bande, pannelli, assi, annotazioni — appartiene allo stato del plot. Un Variant può avere una presentazione indipendente dalla Base.

Dataset ID→Variable ID→Graph Series→PlotSpec→Render / Variant / Export
Errore concettuale da evitare
Non costruire il grafico pensando al file fisico da cui arrivano i dati. Il file è un dettaglio dell'importazione; Plot Dataset deve lavorare sul Dataset canonico della Sessione.

3. Da Dataset a primo grafico

1
Apri una Sessione che contenga almeno un Dataset canonico con variabili numeriche utilizzabili.
2
Vai nella pagina Analysis e abilita Scientific Dataset Plot.
3
Usa Run / recalculate now se serve inizializzare o aggiornare l'analisi.
4
Sul grafico 2D apri Series..., scegli il Dataset, quindi X e Y.
5
Premi Add o aggiorna la riga esistente, quindi Save Config.
6
Esegui Run enabled analyses, apri Plots e controlla il render.
Regola pratica
Nel Series editor scegli prima il Dataset; solo dopo seleziona X e Y. In questo modo le liste delle variabili sono coerenti con la sorgente effettiva.

4. I tre grafici offerti dal modulo

Graph IDNomeUso principale
plot.dataset.xyScientific dataset 2DGrafico 2D generale, Series multiple, più Dataset, dual-Y, famiglie, stili, multi-panel e Variant.
plot.dataset.xy_regionScientific dataset 2D - rectangle selectionVersione 2D con selezione rettangolare in coordinate X/Y. Rimane single-panel.
plot.dataset.xyzScientific dataset 3DLinee/scatter/surface/mesh/contour3/trisurf/heatmap con binding X/Y/Z/family/color.

Ogni offerta dispone del normale flusso GX-TXT con Configure..., Variants... e, dove previsto, Series....

5. Series editor: anatomia e uso

Il Series editor è il centro operativo del 2D. L'audit ha verificato creazione, modifica, rimozione, riordinamento, famiglie, filtri, uso di un secondo Dataset e persistenza.

AddUpdateRemove UpDownRefresh values
IDOnDatasetXYAxisLabelFiltersPanel
series_0001✓audit.longformx_sresponse_VleftCopper Amaterial=Copper...main
series_0002✓audit.referencex_sbaseline_VrightReference—main
Datasetaudit.longform
X variablex_s
Y variableresponse_V
Axisleft / right
Primary familymaterial
Second variablebatch
Orderingpoint_order
Exact filterquality = pass

Schema didattico dell'organizzazione dei controlli, non screenshot dell'interfaccia.

5.1 Tabella delle Series

La tabella superiore mostra almeno ID, stato enabled, Dataset, X/Y, asse, label, numero di filtri e — quando il multi-panel è attivo — il pannello assegnato.

5.2 Operazioni fondamentali

6. Famiglie, second values e filtri

Le famiglie permettono di trasformare una colonna categoriale o numerica in più Series senza costruirle a mano una per una.

6.1 Primary family variable

Scegli una variabile, per esempio material o gain. Le modalità principali sono:

Il comando Create family series materializza le combinazioni come Series vere e proprie con filtri esatti.

6.2 Secondary parameter / Second values

ModalitàEffettoEsempio
FilterIl secondo valore restringe i punti della Series.batch=B
Split into seriesOgni secondo valore crea una nuova Series.material × batch
Style categoryIl secondo valore genera categorie di stile coerenti fra Series.batch A/B con colori ricorrenti per categoria

6.3 Filtri esatti

L'audit ha verificato filtri sia testuali sia numerici, per esempio quality=pass, quality=review, temperature_C=20 e successiva modifica a temperature_C=40.

Famiglie testuali material per batch dal Dataset dell'audit
AUDIT Riproduzione didattica del caso material × batch con filtro quality=pass. L'audit reale ha creato sei Series textfam_, ciascuna con 64 punti quality-pass.
Comportamento da conoscere quando riapri una Series generata
L'audit ha osservato che una combinazione family materializzata viene salvata come Series con filtri esatti. Quando la riapri, il form può mostrare la forma materializzata — per esempio Filter — invece della modalità originaria Style category o della precedente selezione multipla. Label, filtri, Series e colori di categoria sono comunque rimasti persistenti. Non è stato classificato come difetto.

7. Ordering e collegamento dei punti

Quando più righe condividono X o provengono da combinazioni sperimentali diverse, collegare i punti nell'ordine di registrazione può creare segmenti scientificamente sbagliati. La variabile di ordering serve a imporre un ordine stabile, per esempio point_order.

OpzioneQuando usarla
autoLascia al modulo la scelta del comportamento.
dataset_orderPreserva l'ordine canonico delle righe.
sort_xOrdina per X prima del rendering della curva.
Ordering variableQuando un indice esplicito descrive la sequenza corretta dentro ogni combinazione.
Audit
point_order è stato scelto per le Series generate e risultava ancora presente dopo Save Config, chiusura e riapertura della Sessione.

8. Più Dataset e doppio asse Y

Ogni Series 2D può scegliere il proprio Dataset. Non è quindi necessario copiare i dati in una tabella unica per mostrare, nello stesso grafico, una misura e una sorgente di riferimento.

1
Crea la prima Series da audit.longform con x_s → response_V sull'asse left.
2
Aggiungi una seconda Series scegliendo audit.reference.
3
Imposta x_s → baseline_V e asse right.
4
In Configure assegna label/unità e, se necessario, limiti indipendenti per Y Left e Y Right.
Doppio asse Y e secondo Dataset, caso derivato dall'audit
AUDIT Caso derivato dall'audit: famiglia numerica gain su Copper, una Series modificata a 40 °C e la baseline di audit.reference sul secondo asse Y.
Cosa ha verificato l'audit
La riga audit.reference / baseline_V è stata aggiunta realmente sull'asse destro. Il preview mostrava il secondo asse e la baseline; dopo riapertura della Sessione la configurazione era ancora presente.

9. Stili e rappresentazioni 2D

Nella dev-031 lo strato avanzato delle Series/PlotSpec supporta i seguenti kind:

autolinescatter line_markersteperrorbar bandbarhistogram box_whisker

Per ogni Series sono disponibili campi di stile come color, line style, line width, marker, marker size, marker fill e opacity. Per i kind specializzati compaiono parametri specifici: step mode, bar width/baseline, histogram bins/normalization, box whisker IQR e outliers.

Due nomi simili ma non identici
La configurazione semplice del graph offering espone plot_style=auto;line;scatter;line_markers. Nello strato avanzato Series/PlotSpec il kind corrispondente è line_marker. Non confondere le due liste.
Selected family values e style category
AUDIT Riproduzione del caso con valori Copper e Steel selezionati dalla family material e batch usato come Style category. Nell'audit furono create quattro Series styled_ e i colori per categoria batch rimasero persistenti.

10. Error bar, band e variabili ausiliarie

La dev-031 espone nel Series editor le variabili ausiliarie provenienti dallo stesso Dataset della Series.

FunzioneCampi principali
Y errornone / symmetric / asymmetric; error oppure lower/upper variable
X errornone / symmetric / asymmetric; error oppure lower/upper variable
Bandlower variable, upper variable, opzionale center series
Bar intervalX lower / X upper
Disponibile nella dev-031
Questi controlli sono presenti nel codice UI e nel PlotSpec corrente. L'audit esteso del 2 ottobre non ha però esercitato direttamente error bar, band e alignment; vanno quindi considerati documentati nella build corrente, non audit-verified da quella specifica Sessione.

11. Multi-panel a X condivisa

plot.dataset.xy può essere organizzato in pannelli verticali con un'unica X visibile condivisa.

Configure...

Qui si abilita Multi-panel (vertically stacked, shared X), si creano/rimuovono/riordinano i pannelli, si assegna il titolo del pannello e si configurano Y Left / Y Right.

Series...

Il Series editor non crea i pannelli: quando il multi-panel è già attivo, assegna ogni Series a uno dei panel esistenti tramite il suo Series ID stabile.

Ogni panel possiede assi Y locali, annotazioni e legenda; titolo del grafico e X rimangono globali. Le Series possono provenire da Dataset diversi e persino usare X Variable differenti, purché il dominio visibile condiviso sia compatibile.

Il grafico rectangle-selection è diverso
plot.dataset.xy_region resta single-panel perché la selezione rettangolare ha un solo dominio Y. Il normale meccanismo di selezione x_range del grafico multi-panel, invece, opera sull'X condivisa e può attraversare tutti i pannelli.

12. Assi, unità, tick, legenda e annotazioni

La configurazione corrente distingue correttamente proprietà scientifiche e presentazione dell'asse. Sono disponibili label, display unit, scala, direzione, minimo, massimo, tick positions e tick labels.

Y Left / Y Right

Ogni panel può avere presentazione indipendente sui due assi Y.

Restore automatic

Quando torni all'automatico, lo stato CORE dell'asse è autorevole e sopprime limiti/unità provider stale che altrimenti potrebbero sopravvivere in configurazioni precedenti.

Le annotazioni supportano almeno linee di riferimento, regioni e testo. La legenda può essere automatica, disabilitata oppure costruita sulle Series; nel 3D può anche riflettere le family.

13. Base e Variant

Un Variant non è una copia informale del PNG: è uno stato persistente del grafico con configurazione di presentazione indipendente. Nella dev-031 il multi-panel e gli assi possono differire fra Base e Variant senza perdere l'identità scientifica delle Series.

1
Costruisci e salva una Base leggibile e scientificamente corretta.
2
Apri Variants... e duplica/crea la variante desiderata.
3
Modifica layout, assi, stili o pannelli nel Variant.
4
Verifica che la Base sia invariata: l'isolamento è parte del modello persistente.

14. Region selection

Ci sono due concetti da distinguere:

ModalitàDominioNote
x_rangeSolo XNel multi-panel usa il dominio X visibile condiviso; non introduce un secondo registry di dati.
rectangle / xy_regionX e YRichiede un singolo dominio Y e quindi resta single-panel.
Stato della verifica
La semantica è documentata nel modulo corrente. L'audit esteso non ha eseguito materialmente il drag rettangolare, quindi questo specifico gesto non appartiene alla matrice audit-verified.

15. Large Dataset e riduzione

Plot Dataset non modifica il Dataset canonico per renderlo più leggero. La riduzione riguarda il display/rendering.

Parametro dev-031DefaultSignificato
reduction_modeautoauto / none / stride / minmax
target_points6000budget indicativo di punti per la visualizzazione
auto_reduce_threshold12000soglia oltre la quale l'auto reduction entra in gioco
chunk_rows5000dimensione di lavoro per letture a chunk

In modalità automatica il comportamento corrente privilegia una riduzione min/max per bucket che conserva gli estremi locali meglio di un semplice stride.

Illustrazione della riduzione di rendering per grandi Dataset
DEV-031 Illustrazione concettuale: il Dataset canonico resta completo; il renderer può usare un campione extrema-preserving per contenere tempi e memoria.

16. Grafici 3D

Il graph offering plot.dataset.xyz usa binding Analysis per X, Y, Z, family e color. La dev-031 espone sette rappresentazioni 3D:

line3scatter3surface meshcontour3trisurf heatmap

La configurazione include title, label X/Y/Z, ordering, legenda, family label prefix, line width, marker size, contour levels, riduzione e target points. È disponibile anche extra_format=svg/pdf per output vettoriale aggiuntivo dove applicabile.

Scatter 3D raggruppato per materiale, dataset audit
AUDIT Riproduzione del caso 3D: x_s / temperature_C / response_V, family material. Nell'audit finale il graph 3 conteneva 504 punti validi in tre gruppi material.

16.1 Viewer 3D persistente

La API v3 separa il source graph/Variant dalla rappresentazione nel Viewer 3D. Le rappresentazioni possono riportare stati di sincronizzazione come SYNCED, OUT OF SYNC e SOURCE MISSING. Questo evita di confondere la sorgente persistente con una vista interattiva derivata.

17. Tutorial completi basati sull'audit

17.1 Tutorial A — sei curve material × batch, solo quality=pass

1
Apri plot.dataset.xy → Series....
2
Dataset: audit.longform; X: x_s; Y: response_V.
3
Primary family: material → All values as separate series.
4
Second variable: batch → Split into series.
5
Exact filter: quality=pass.
6
Ordering: point_order; quindi Create family series.
Risultato audit
Sei Series textfam_; 64 punti quality-pass per Series. Nel graph 1 finale risultavano sette Series perché era presente anche una Series aggiuntiva.

17.2 Tutorial B — famiglia numerica gain e modifica del filtro

1
Primary family: gain, valori 1 e 2.
2
Filtro: material=Copper.
3
Second filter: temperature_C=20.
4
Crea le due Series numeriche.
5
Seleziona numericfam_0001, cambia temperature_C da 20 a 40, modifica la label e premi Update.
Risultato audit
La label e il filtro modificati erano ancora corretti dopo riapertura del Series editor e dopo Save/reopen della Sessione.

17.3 Tutorial C — aggiungere un secondo Dataset sull'asse destro

1
Premi Add.
2
Dataset: audit.reference; X: x_s; Y: baseline_V.
3
Axis: right; label: per esempio “Reference baseline”.
4
Save Config e Run.
Risultato audit
Graph 2 mostrava realmente il secondo asse Y e la baseline proveniente dal Dataset separato.

17.4 Tutorial D — Selected values + Style category

1
Primary family: material → Selected values.
2
Con Ctrl seleziona Copper e Steel.
3
Second variable: batch → Style category.
4
Crea le Series.
Risultato audit
Quattro righe styled_ fra batch A/B; i colori salvati si ripetevano per categoria batch.

17.5 Tutorial E — 3D per materiale

1
Nella configurazione Analysis del graph 3D assegna X=x_s.
2
Y=temperature_C.
3
Z=response_V.
4
Family=material.
5
Usa scatter3, salva ed esegui.
Risultato audit
504 punti validi raggruppati in tre gruppi di legenda: Copper, Aluminum e Steel.

18. Save, Run, Plots ed export

Series / Configure→Save Config→Run enabled analyses→Plots→Export...

Il flusso di audit ha inoltre verificato Session Tools → Export Session to HTML. I tre PNG finali sono stati esportati dalla GUI e inclusi nel pacchetto di audit.

Persistenza
Dopo Save Config, chiusura/riapertura della Sessione e nuova apertura del Series editor, le Series intenzionali risultavano ancora presenti, inclusi filtro/label modificati, ordering, Series testuali e categorie di stile.

19. API pubbliche e integrazione avanzata

La dev-031 dichiara le API pubbliche PLOT_DATASET_API_v1, PLOT_DATASET_API_v2, PLOT_DATASET_API_v3 e PLOT_DATASET_3D_API_v1. Per nuovo codice, la facade corrente è PLOT_DATASET_API_v3.

La v3 mantiene il lifecycle stabile delle versioni precedenti e aggiunge/espone operazioni per PlotSpec, viewer interattivo, snapshot e preview transient. Fra le firme documentate:

upsertPlotFromSpec producerModuleId providerKey spec

captureForArtifact ...
renderSnapshot ...
writePointIndex ...

renderTransientOverlay ...
renderTransientCurve3D ...
renderTransientCurves2D ...
Per moduli e script
Usa le API pubbliche del framework e gli ID canonici. Non dipendere dai file interni della Sessione né da procedure private ::GX quando esiste un'operazione pubblica equivalente.

20. Cosa è stato realmente verificato

AreaStatoEvidenza
Dataset/variable per Series, anche da Dataset diversiAUDITaudit.longform + audit.reference nello stesso grafico.
Text family + second values splitAUDITmaterial × batch → 6 Series.
Filtri testuali e numericiAUDITquality, temperature_C, batch.
Numeric family e modifica SeriesAUDITgain 1/2, edit 20 → 40 °C.
Selected family valuesAUDITCopper + Steel.
Style categoryAUDITbatch A/B con colori persistenti.
OrderingAUDITpoint_order.
Dual-Y e secondo DatasetAUDITbaseline_V su right axis.
3D da Analysis bindingsAUDIT504 punti, 3 gruppi material.
Save/reopen e export PNG/HTMLAUDITstato persistito; export completati.
Rectangle drag selectionDEV-031 NON AUDITDisponibile/documentato, non esercitato da quell'audit.
Direct style entry, alignment, error variablesDEV-031 NON AUDITControlli presenti nella UI corrente.
Manual annotations, alternate representationsDEV-031 NON AUDITDocumentati, non esercitati dall'audit.
3D Series editorDEV-031 NON AUDITL'audit 3D ha usato i binding Analysis.
Esito audit
Nessun difetto confermato nei percorsi esercitati. Il run finale ha renderizzato tutti e tre i grafici; graph 1 aveva 7 Series, graph 2 aveva 8 Series e graph 3 aveva 504 punti validi in tre gruppi.

21. Troubleshooting

SintomoCausa probabileCorrezione
La lista X/Y non contiene ciò che cerchiDataset non scelto o Dataset sbagliatoSeleziona prima il Dataset, poi premi Refresh values.
Una linea collega punti non correlatiOrdering erratoUsa point_order, dataset_order o sort_x secondo la semantica dei dati.
La family produce troppe SeriesAll values + split second variableUsa Selected values oppure Second variable=Filter.
Dopo una family generata il form sembra diversoLa family è stata materializzata in filtri esattiControlla la riga salvata e i filtri effettivi; è comportamento osservato nell'audit.
Il secondo asse non appareTutte le Series sono su leftImposta almeno una Series su right e salva.
Multi-panel: non posso assegnare una Series a un panelI panel non esistono ancoraCreali prima in Configure, poi torna in Series.
Limiti/unità sembrano “bloccati”Stato provider precedenteUsa Restore automatic sull'asse e salva.
Large Dataset lentoreduction=none o budget troppo altoUsa auto/minmax e un target_points ragionevole.
Il 3D non si raggruppaFamily binding assenteImposta la variabile family nell'Analysis binding.

22. Riferimento rapido

2D base

plot.dataset.xy
Series, family, filter, dual-Y, multi-panel, Variant.

2D region

plot.dataset.xy_region
Rectangle selection; single-panel.

3D

plot.dataset.xyz
X/Y/Z + family/color; 7 rappresentazioni.

Family

All values / Selected value / Selected values.

Second values

Filter / Split into series / Style category.

Large Dataset

auto / none / stride / minmax; target 6000; threshold 12000.

Checklist prima del Run

  1. Dataset corretto per ogni Series.
  2. X/Y (e Z per 3D) corretti.
  3. Axis left/right corretto.
  4. Filtri e family coerenti con la domanda scientifica.
  5. Ordering verificato.
  6. Panel già creati se usi multi-panel.
  7. Label/unità/limiti degli assi controllati.
  8. Save Config prima del Run.

23. File dell'audit usati come riferimento

Il pacchetto originale esaminato contiene, fra gli altri:

Le immagini della guida sono ricostruite dai dati dell'audit per mantenere gli esempi visuali riproducibili e leggibili. I PNG originali restano nel pacchetto audit come evidenza del run GUI.