Contenuto principale

Aggiunta di testo al grafico

Questo esempio mostra come aggiungere testo a un grafico, controllare la posizione e la grandezza del testo e creare testo su più righe.

Posizione del testo

Aggiungere testo accanto a un particolare punto dati utilizzando la funzione text. In questo caso, aggiungere il testo al punto (π,sin(π)). I primi due argomenti di input della funzione text specificano la posizione. Il terzo argomento specifica il testo.

Per impostazione predefinita, il testo supporta un sottoinsieme di markup TeX. Utilizzare il markup TeX \pi per la lettera greca π. Visualizzare una freccia rivolta verso sinistra includendo il markup TeX \leftarrow. Per un elenco completo dei markup, vedere Lettere greche e caratteri speciali nel testo del grafico.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

Allineamento del testo

Per impostazione predefinita, il punto dati specificato si trova a sinistra del testo. Allineare il punto dati a destra del testo specificando la proprietà HorizontalAlignment come 'right'. Utilizzare una freccia rivolta verso destra anziché verso sinistra.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = 'sin(\pi) = 0 \rightarrow';
text(pi,sin(pi),txt,'HorizontalAlignment','right')

Figure contains an axes object. The axes object contains 2 objects of type line, text.

Grandezza dei caratteri

Specificare la grandezza dei caratteri del testo impostando la proprietà FontSize come argomento della coppia nome-valore della funzione text. È possibile utilizzare un approccio simile per modificare la grandezza dei caratteri quando si utilizza la funzione title, xlabel, ylabel o legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt,'FontSize',14)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

In alternativa, a partire dalla release R2022a, è possibile modificare la dimensione del carattere del testo degli assi utilizzando la funzione fontsize.

Impostazione delle proprietà del testo

La funzione testo crea un oggetto testo. Gli oggetti Text dispongono di proprietà che è possibile utilizzare per personalizzare l'aspetto del testo, come ad esempio HorizontalAlignment o FontSize.

Le proprietà possono essere impostate in due modi:

  • Utilizzando le coppie nome-valore nel comando text, come 'FontSize',14.

  • Utilizzando l'oggetto Text. È possibile restituire l'oggetto Text come argomento di output della funzione text e assegnarlo a una variabile, come t. Quindi, utilizzare la notazione a punti per impostare le proprietà, come t.FontSize = 14.

In questo esempio, modificare la grandezza dei caratteri utilizzando la notazione a punti anziché una coppia nome-valore.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
t = text(pi,sin(pi),txt)
t = 
  Text (\leftarrow sin(\pi) = 0) with properties:

                 String: '\leftarrow sin(\pi) = 0'
               FontSize: 10
             FontWeight: 'normal'
               FontName: 'Helvetica'
                  Color: [0.1294 0.1294 0.1294]
    HorizontalAlignment: 'left'
               Position: [3.1416 1.2246e-16 0]
                  Units: 'data'

  Show all properties

t.FontSize = 14;

Figure contains an axes object. The axes object contains 2 objects of type line, text.

Testo su più righe

Visualizzare il testo su più righe utilizzando un array di celle di vettori di caratteri. Ciascun elemento dell'array di celle rappresenta una riga di testo. Per questo esempio, visualizzare un titolo con due righe. È possibile utilizzare un approccio simile per visualizzare un testo su più righe con la funzione title, xlabel, ylabel o legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = {'Plotted Data:','y = sin(x)'};
text(4,0.5,txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

Testo con valore variabile

Includere un valore variabile nel testo utilizzando la funzione num2str per convertire il numero in testo. Per questo esempio, calcolare il valore medio di y e includere il valore nel titolo. È possibile utilizzare un approccio simile per includere valori variabili con la funzione title, xlabel, ylabel o legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

avg = mean(y);
txt = ['Average height: ' num2str(avg) ' units'];
text(4,0.5,txt)

Figure contains an axes object. The axes object contains 2 objects of type line, text.

Testo fuori dagli assi

Aggiungere testo in qualsiasi punto della figura utilizzando la funzione annotation anziché la funzione text. Il primo argomento di input specifica il tipo di annotazione. Il secondo argomento di input specifica la posizione dell'annotazione in unità normalizzate rispetto alla figura. Rimuovere il bordo della casella di testo impostando la proprietà EdgeColor su 'none'. Per maggiori informazioni sulle annotazioni della casella di testo, vedere la funzione annotation.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

annotation('textbox',[.9 .5 .1 .2], ...
    'String','Text outside the axes','EdgeColor','none')

Figure contains an axes object. The axes object contains an object of type line.

Vedi anche

| | | | |

Argomenti