Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

5
voti

MATLAB: grafici a doppia scala

Grafici a doppia scala con MATLAB, con un minimo di opzioni utili e personalizzazioni estetiche. En passant assi inversi, pedici, apici e lettere greche.

Premessa

Oggi mi serviva un grafico a doppia scala, Excel rognava, così sono passato a MATLAB.
Seguono commenti per ogni parte del codice.

Codice e Output

Codice. Quel segno di errore sotto l

Codice. Quel segno di errore sotto l'uguale a riga 8 è dovuto all'assenza del ; a fine riga.

Output del codice. Quando eseguite lo script si apre una finestra col grafico: allargatevela in modo da non far sovrapporre gli indici dell

Output del codice. Quando eseguite lo script si apre una finestra col grafico: allargatevela in modo da non far sovrapporre gli indici dell'asse X (mi servivano belli grossi). Poi dal menù fate File/Export setup, si apre una finestra, cliccate su Export. Ho barato un po' ritagliando i margini su Photoshop.

Commento al codice, in ordine dall'alto verso il basso [numero riga]


  • [1,2] clc cancella il testo nella Command Window (mi dà fastidio), clf rinfresca l'immagine tra una prova e l'altra.
  • [4,5,6] Nel mio particolare caso i vettori da rappresentare hanno pochissimi valori, ma non fa differenza. I due commenti con "AX" fanno riferimento ad Axis, che prima avevo chiamato AX.
  • [8] Notate il comando plotyy: serve a plottare grafici con due scale. Qui la mia X era il vettore potenza, la prima Y il vettore area (linea blu), la seconda Y il vettore Vdd (linea rossa). La X si ripete due volte, dicendo a MATLAB di plottare "l'area in funzione di X, la Vdd in funzione di X".
  • [9] [Axis, h1, h2] è lì per dare un nomi al vettore degli assi (Axis), alla prima curva (h1) ed alla seconda curva (h2). Potete chiamare tutto ciò come volete.

Prima parte del grafico, che plotta l'area:

  • [12] Il comando set ci permette di cambiare le impostazioni...di qualcosa. In questo caso degli assi X ed Y della "prima parte del grafico". Infatti richiamiamo subito Axis(1), poi smanettiamo coi parametri. NOTA: i tre punti di sospensione al fondo della riga servono per andare a capo.
  • [13] Mi occupo delle X. I comandi tra virgolette rosa fanno riferimento al testo/vettore che segue. Con xlim fisso il limite superiore e quello inferiore degli assi. XDir con 'reverse' gli impone di andare all'inverso, partendo dal dato più alto per arrivare al più basso. XScale con 'log' rende la scala logaritmica. Un'idea per 'xlim' e 'ylim', a cui ho pensato solo ora: scrivere "'xlim', [min(potenza) max(potenza)]" e "'ylim', [min(area) max(area)]".
  • [14] Idem per Y. N.B. non ho messo YDir!
  • [15] Lavoro sulla griglia. La voglio per entrambi gli assi.
  • [16] Imposto la dimensione dei numeri degli assi; li volevo più leggibili. Non ho ancora trovato il modo di dare dimensioni diverse per i numeri sull'asse X rispetto a quelli sull'asse Y.
  • [17] Dà un nome al questo asse Y (notare come faccia riferimento al primo elemento del vettore Axis). Imposta anche la grandezza del font. NOTA: nel nome dell'asse \mu rappresenta la lettera greca. Notare come è stato inserito l'esponente per i metri quadri: m^{2}.

Seconda parte del grafico, che plotta la Vdd:

  • [19-23] Come prima, richiamando però Axis(2).
  • [24] Notare come è stato inserito il pedice della Vdd: V_{dd}.

Impostazioni estetiche delle curve:

  • [27-28] Con set andiamo a pescarci le curve. Width significa larghezza; il 'LineStyle' l'ho scritto esplicitamente per ricordarmi il comando. 'marker' permette di inserire quei pallini. È tutto personalizzabile, ci sono molte opzioni estetiche.

Titolo complessivo, titolo dell'asse X:

  • [30] Settato il titolo complessivo.
  • [31] Settato il titolo dell'asse X.
0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.