Dashboard in SVG

by luca
14 comments

Il template in SVG

Il primo passo per realizzare la dashboard è preparare un template in SVG. Vi sono molti programmi di grafica vettoriale che supportano tale formato; il mio consiglio è quello di utilizzare Inkscape, opensource e di cui è disponibile anche una versione portable.

Molto importante è disegnare visualizzando la griglia (menu View – Grid):

Per prima cosa, disegnamo la parte “statica” della dashboard: nell’esempio che vi propongo la dashboard sarà composta da un termometro e da una indicazione testuale della temperatura. Se non conoscete ancora Inkscape, in rete potete trovare ottimi tutorial (es. 1 e 2) per imparare ad utilizzarlo.

Nel disegno del termometro è molto importante identificare il numero di unità che corrispondono all’incremento di un grado (nella scala dell’esempio, 1 grado = 5 unità):

Aggiungiamo al disegno le componenti che varieranno al variare del valore da rappresentare: un rettangolo che rappresenta l’altezza del liquido nel termometro e la scritta. Non è importante il particolare valore che utilizziamo:

Apriamo ora l’editor XML (menu Edit – XML Editor…):

Selezionando un elemento del disegno, è possibile visualizzarne le corrispondenti proprietà nel sorgente XML. Selezioniamo il rettangolo e proviamo a modificare la proprietà height (dopo aver modificato il valore, confermiamo con CTRL+INVIO):

Se il rettangolo si è allungato nella direzione sbagliata (verso il basso), utilizziamo il comando Object – Flip Vertical per ruotarlo di 180°:

Modifichiamo la proprietà id assegnando un nome più significativo all’oggetto (es. temp_level):

Selezioniamo la scritta e anche per questo oggetto modifichiamo la proprietà id (es. temp_value):

Infine ridimensioniamo la “pagina” su cui stiamo disegnando: menu File – Document properties…, espandiamo Resize page to content… e clicchiamo Resize page to drawing or selection. Eventualmente possiamo aggiungere qualche pixel di margine attorno al nostro disegno:

Nella prossima pagina vedremo come rendere dinamico il nostro file SVG usando il linguaggio PHP…

Related Posts

14 comments

How to add flair to a webpage that shows your project data - Hack a Day 27 gennaio 2012 - 19:00

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
How to add flair to a webpage that shows your project data » Geko Geek 27 gennaio 2012 - 20:30

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
How to add flair to a webpage that shows your project data | ro-Stire 27 gennaio 2012 - 22:05

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
How to add flair to a webpage that shows your project data | My Blog 28 gennaio 2012 - 00:36

[…] heat arrangement might not hit your hosiery off, though it’s a elementary proof of how we can used matrix graphics as a web readout for data (translated). [Luca] wrote this 4 page educational to assistance others, he creates it demeanour […]

Reply
How to add flair to a webpage that shows your project data « Gadgets « The Depot of Talk 28 gennaio 2012 - 05:01

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
How to add flair to a webpage that shows your project data « « SNAP-DIYSNAP-DIY 28 gennaio 2012 - 09:16

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
How to add flair to a webpage that shows your project data | CisforComputers 29 gennaio 2012 - 06:01

[…] temperature display may not knock your socks off, but it’s a simple demonstration of how you can used vector graphics as a web readout for data (translated). [Luca] wrote this four page tutorial to help others, he makes it look really easy, […]

Reply
Tutorial : changer dynamiquement un SVG 29 gennaio 2012 - 09:23

[…] XML est facilement modifiable par les langage de scripting web. Tous les détails en anglais et en italien sont sur le blog de lucadentella, les code sources des exemples SVG et PHP sont sur GITHub et enfin […]

Reply
Lucio 30 giugno 2012 - 16:51

Gentile Luca Dentella,
ho trovato interessantissimo il suo tutorial che riguarda il dashboard svg. Le chiederei gentilmente, se possibile, di fornirmi un esempio per visualizzare in forma grafica sul browser i valore di tensione letti sugli ingressi analogici dell’arduino uno in forma vu meter lineare (tipo il suo termometro) oppure classico a lancetta.
Ringraziando anticipatamente, Le porgo distinti saluti.
lucio.ra@libero.it

Reply
A MacLeod 6 maggio 2013 - 22:24

Thanks for taking the time to document this, I used it as a basis for my own arduino project (a web-connected heating oil level monitor.)

Getting a nice SVG-based level indication turned out to be easier than I had feared… strangely, getting it to send warning emails was trickier!

http://s230.photobucket.com/user/macleodaj/media/Junk/oil_level_gauge.jpg.html

Reply
luca 7 maggio 2013 - 08:19

Hi! Thanks for your feedback and great SVG web interface!

Reply
lucadentella.it – Yún – Utilizzare PHP 5 dicembre 2013 - 10:33

[…] Dashboard in SVG […]

Reply
Yún – How to use PHP | LinkSprite Learning Center 27 giugno 2016 - 04:16

[…] you have already read about some of my projects (dashboard, web charts…), you’ve certainly noticed that I’d like to use the PHP language for developing […]

Reply
Mosesliete 16 aprile 2018 - 23:05

Wonderful site, how do u get all this information?I’ve read a few posts on your site and I like your writing style. Thanks a million, keep up the great work.

Reply

Leave a Comment

2 × 4 =