Grafico: Genera (SVG)

action_generate_chart · action · Dati & Trasformazione · Disponibile · v1.0.0

Descrizione

Generatore di grafici SVG (line, bar, pie, area) da un array di dati — la primitiva per QUALSIASI workflow che deve VISUALIZZARE numeri: report email con andamento, dashboard inviate via mail, riepiloghi periodici, confronti storici. Rendering SVG PURO server-side (zero dipendenze native: niente canvas/chart.js/sharp, quindi nessun binario .node, bundle leggero, sandbox-safe) → output testuale embeddabile DIRETTAMENTE nell'HTML di un'email come data-URI base64 (tag <img> già pronto nel campo imgTag), senza passare per filesystem o CDN. Tutto configurabile dall'editor visuale, con default sensati su ogni campo (a prova di errore): tipo di grafico (barre/linea/torta/area), array dati come espressione ({{$node.X.json.serie}}), nome del campo etichetta (asse X / fette torta) e del campo valore (asse Y), titolo, dimensioni in pixel, palette colori. Robustezza enterprise: dati vuoti o non-array → grafico placeholder "Nessun dato" invece di crash; valori non numerici/NaN → trattati come 0; valori negativi → scala con baseline a zero; etichette troppe → diradate per non sovrapporsi; ogni testo da dato utente è XSS-escaped (l'SVG finisce in un'email HTML, una label malevola NON può iniettare script). Output: { svg, dataUri, imgTag, width, height, pointCount, primary }. Use case: report SEO settimanale con grafico storico degli errori vs settimana scorsa (dati da db_query upstream → linea temporale nell'email); riepilogo vendite mensile a torta per categoria prodotto allegato alla riunione; andamento ticket di supporto a barre per il management; trend di iscrizioni newsletter; monitoraggio prezzi competitor nel tempo; cruscotto KPI inviato ogni lunedì mattina; confronto performance campagne marketing; istogramma distribuzione punteggi feedback clienti.

⚙️ Parametri di configurazione

Campi mostrati nell’editor quando si configura il nodo. Generati direttamente dal NodeDefconfigFields.

CampoTipoRequiredDefaultDescrizione
chartType
Tipo di grafico
enum
barlineareapie
nobarBarre (categorie), linea/area (andamento nel tempo), torta (composizione %).
dataJson
Dati (array)
expressionsi
{{$node.db_query_1.json.rows}}
Espressione che risolve a un ARRAY: di oggetti [{label, value}], di numeri [10,20,30], o di coppie [["Lun",10],...]. Se vuoto, usa l'input del nodo.
labelField
Campo etichetta
stringnolabel
label
Nome del campo da usare come etichetta (asse X / fetta). Default "label". Ignorato se i dati sono numeri grezzi.
valueField
Campo valore
stringnovalue
value
Nome del campo numerico da plottare. Default "value".
title
Titolo
stringno
es. Errori SEO — ultime 8 settimane
Titolo mostrato in alto. Supporta {{espressioni}}.
width
Larghezza (px)
numberno800Larghezza in pixel (100–4000). Default 800.
height
Altezza (px)
numberno400Altezza in pixel (100–4000). Default 400.
palette
Palette colori
enum
defaultbluesgreenswarm
nodefaultSchema colori del grafico.
outputFormat
Formato output principale
enum
dataUrisvg
nodataUridataUri (base64, per <img> in email HTML) o svg (markup grezzo). Entrambi sono sempre disponibili nell'output.

⬆️ Output del nodo

Campi disponibili nei nodi successivi via $node.<alias>.json.<field>:

  • svg
  • dataUri
  • imgTag
  • width
  • height
  • pointCount
  • primary

💡 Esempio configurazione

Snippet JSON del nodo come compare nel workflow. I valori sono derivati daidefaultValue e dai parametri required.

{
  "id": "node-action_generate_chart-1",
  "defId": "action_generate_chart",
  "label": "Grafico: Genera (SVG)",
  "config": {
    "chartType": "bar",
    "dataJson": "{{$node.db_query_1.json.rows}}",
    "labelField": "label",
    "valueField": "value",
    "width": 800,
    "height": 400,
    "palette": "default",
    "outputFormat": "dataUri"
  }
}

🔗 Nodi correlati nella stessa categoria

Pronto a usare Grafico: Genera (SVG)?

Disponibile da subito in tutti i piani FlowForge. Provalo gratis senza carta di credito.

Inizia gratisSfoglia tutti i nodi