Main Content

Definizione dei colori dei grafici

MATLAB® crea i grafici utilizzando un set predefinito di colori. I colori predefiniti garantiscono un aspetto chiaro e coerente tra i diversi grafici creati. Se necessario, è possibile personalizzare i colori. Molte funzioni di plottaggio presentano un argomento di input come c o colorspec per personalizzare il colore. Gli oggetti restituiti da queste funzioni hanno in genere proprietà atte a controllare il colore. I nomi degli argomenti e delle proprietà possono variare, ma i valori accettati seguono in genere un pattern comune. Una volta acquisita familiarità con il pattern, è possibile utilizzarlo per modificare un'ampia gamma di grafici.

Gli esempi seguenti utilizzano le funzioni bar e scatter per dimostrare l'approccio generale alla personalizzazione dei colori. Per un elenco completo dei valori di colore validi per una specifica funzione di plottaggio, fare riferimento alla documentazione relativa a tale funzione.

Tipi di valori di colore

I tipi di valori di colore sono i seguenti:

  • Nome del colore o nome breve: specificare il nome di un colore come "red" o "green". I nomi brevi specificano una lettera del nome del colore, come "r" o "g".

  • Tripletta RGB: creare un colore personalizzato specificando un vettore riga a tre elementi i cui elementi sono le intensità dei componenti rosso, verde e blu di un colore. Le intensità devono essere comprese nell'intervallo [0,1]. Ad esempio, è possibile specificare una tonalità di rosa come [1 0.5 0.8].

    Alcuni argomenti delle funzioni che controllano il colore non accettano le triplette RGB, ma accettano generalmente le proprietà degli oggetti che controllano il colore.

  • Codice di colore esadecimale: creare un colore personalizzato specificando una stringa o un vettore di caratteri che inizia con un simbolo hash (#) seguito da tre o sei cifre esadecimali, che possono variare da 0 a F. I valori non differenziano tra maiuscole e minuscole. Pertanto, i codici di colore "#FF8800", "#ff8800", "#F80" e "#f80" specificano tutti la stessa tonalità di arancione.

    Alcuni argomenti delle funzioni che controllano il colore non accettano i codici di colore esadecimali, ma è possibile specificare un codice di colore esadecimale utilizzando un argomento nome-valore che corrisponde a una proprietà dell'oggetto. Ad esempio, scatter(x,y,sz,"MarkerFaceColor","#FF8800") imposta il colore del marcatore in un grafico a dispersione su arancione.

La tabella seguente elenca tutti i nomi di colore e i nomi brevi validi con le corrispondenti triplette RGB e i codici di colore esadecimali.

Nome del coloreNome abbreviatoTripletta RGBCodice di colore esadecimaleAspetto
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

Si riportano di seguito le triplette RGB e i codici di colore esadecimale per i colori predefiniti che MATLAB utilizza in molti tipi di grafici. A questi colori non sono associati nomi.

Tripletta RGBCodice di colore esadecimaleAspetto
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Definizione del colore di un grafico a barre

Creare un grafico a barre rosse chiamando la funzione bar e specificando l'argomento opzionale color come "red". Restituire l'oggetto barra come b in modo da poter personalizzare altri aspetti del grafico in seguito.

b = bar(1:10,"red");

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

Ora, modificare il colore di riempimento della barra e il colore del contorno in azzurro impostando le proprietà FaceColor e EdgeColor sul codice di colore esadecimale "#80B3FF".

Per le release antecedenti alla R2019a, specificare una tripletta RGB anziché un codice di colore esadecimale. Ad esempio,b.FaceColor = [0.5 0.7 1].

b.FaceColor = "#80B3FF";
b.EdgeColor = "#80B3FF";

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

Definizione dei colori dei marcatori in un grafico a dispersione

Creare un grafico a dispersione di numeri casuali. Specificare la dimensione del marcatore come 75 punti e utilizzare gli argomenti nome-valore per specificare i colori del contorno e del riempimento del marcatore. La proprietà MarkerEdgeColor controlla il colore del contorno mentre la proprietà MarkerFaceColor controlla il colore di riempimento.

x = rand(1,100);
y = rand(1,100);
scatter(x,y,75,"MarkerEdgeColor","b", ...
    "MarkerFaceColor",[0 0.7 0.7])

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

Definizione dei colori in una serie di grafici

Esistono due modi per creare una serie di grafici:

  • Chiamare più volte una funzione di plottaggio e utilizzare la funzione hold per mantenere il contenuto degli assi.

  • Passare una matrice contenente più serie di dati alla funzione di plottaggio. La funzione plot ha sempre accettato input a matrice così come molte altre funzioni di plottaggio.

Per specificare i colori con entrambi gli approcci, chiamare la funzione di plottaggio desiderata con un argomento di output in modo da poter accedere ai singoli oggetti del grafico. Quindi impostare le proprietà dell'oggetto del grafico che si desidera modificare.

Ad esempio, creare un grafico a dispersione con marcatori riempiti a 100 punti. Chiamare la funzione scatter con un argomento di output s1. Chiamare la funzione hold per mantenere il contenuto degli assi, quindi chiamare la funzione scatter altre due volte con gli argomenti di output s2 e s3. Le variabili s1, s2 e s3 sono oggetti Scatter.

figure
x = 1:5;
s1 = scatter(x,[6 3 9 10 7],100,"filled");
hold on
s2 = scatter(x,[16 13 19 20 17],100,"filled");
s3 = scatter(x,[26 23 29 33 27],100,"filled");
hold off

Figure contains an axes object. The axes object contains 3 objects of type scatter.

Modificare il colore del secondo oggetto Scatter in una tonalità di viola.

s2.MarkerFaceColor = [0.7 0 1];

Figure contains an axes object. The axes object contains 3 objects of type scatter.

La funzione scatter supporta inoltre gli input a matrice (dalla release R2021a), per cui è possibile creare lo stesso grafico passando una matrice e restituendo un vettore di oggetti.

figure
x = 1:5;
y = [6 3 9 10 7; 16 13 19 20 17; 26 23 29 33 27];
s = scatter(x,y,100,"filled");

Figure contains an axes object. The axes object contains 3 objects of type scatter.

In questo caso, per modificare il colore della seconda serie di dati accedere al secondo oggetto Scatter indicizzando su s.

s(2).MarkerFaceColor = [0.7 0 1];

Figure contains an axes object. The axes object contains 3 objects of type scatter.

Vedi anche

Funzioni

Proprietà

Argomenti complementari