Contenuto principale

mesh

Grafico di superficie a griglia

  • Mesh surface plot

Descrizione

mesh(X,Y,Z) crea un grafico a griglia, ossia una superficie tridimensionale con colori dei bordi continui e senza colori sulle facce. La funzione traccia i valori della matrice Z come altezze sopra una griglia nel piano x-y definito da X e Y. I colori dei bordi variano in base alle altezze specificate da Z.

esempio

mesh(Z) crea un grafico a griglia e utilizza gli indici di colonna e di riga degli elementi di Z come coordinate x e y.

mesh(Z,C) specifica inoltre il colore dei bordi.

mesh(___,C) specifica inoltre il colore dei bordi.

esempio

mesh(ax,___) traccia sugli assi specificati da ax anziché su quelli correnti. Specificare gli assi come primo argomento di input.

mesh(___,Name,Value) specifica le proprietà della superficie utilizzando uno o più argomenti della coppia nome-valore. Ad esempio, 'FaceAlpha',0.5 crea un grafico a griglia semitrasparente.

esempio

s = mesh(___) restituisce l'oggetto superficie del grafico. Utilizzare s per modificare il grafico a griglia dopo che è stato creato. Per un elenco delle proprietà, vedere Surface Properties.

esempio

Esempi

comprimi tutto

Creare tre matrici della stessa grandezza. Quindi tracciarle come grafico a griglia. Il grafico utilizza Z sia per l'altezza che per il colore.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

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

Specificare i colori per un grafico a griglia includendo una quarta matrice di input C. Il grafico a griglia utilizza Z per l'altezza e C per il colore. Specificare i colori utilizzando una mappa dei colori che utilizza numeri singoli per indicare i colori di uno spettro. Quando si utilizza una mappa dei colori, C ha la stessa grandezza di Z. Aggiungere una barra dei colori al grafico per mostrare come i valori dei dati in C corrispondono ai colori della mappa dei colori.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C)
colorbar

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

Specificare i colori per un grafico a griglia includendo una quarta matrice di input CO. Il grafico a griglia utilizza Z per l'altezza e CO per il colore. Specificare i colori utilizzando truecolor che utilizza triplette di numeri per indicare tutti i colori possibili. Quando si utilizza truecolor, se Z è m x n, CO è m x n x 3. La prima pagina dell'array indica il componente rosso di ciascun colore, la seconda pagina indica il componente verde e la terza pagina indica il componente blu.

[X,Y,Z] = peaks(25);
CO(:,:,1) = zeros(25); % red
CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green
CO(:,:,3) = ones(25).*linspace(0,1,25); % blue
mesh(X,Y,Z,CO)

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

Creare una superficie a griglia semitrasparente specificando la coppia nome-valore FaceAlpha con 0.5 come valore. Per consentire ulteriori modifiche, assegnare l'oggetto superficie alla variabile s.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')

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

s = 
  Surface with properties:

       EdgeColor: 'flat'
       LineStyle: '-'
       FaceColor: [1 1 1]
    FaceLighting: 'none'
       FaceAlpha: 0.5000
           XData: [21×21 double]
           YData: [21×21 double]
           ZData: [21×21 double]
           CData: [21×21 double]

  Show all properties

Utilizzare s per accedere e modificare le proprietà del grafico a griglia dopo che è stato creato. Ad esempio, aggiungere il colore alla faccia del grafico a griglia impostando la proprietà FaceColor.

s.FaceColor = 'flat';

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

Argomenti di input

comprimi tutto

Coordinate x, specificate come matrice della stessa grandezza di Z o come vettore di lunghezza n, dove [m,n] = size(Z). Se non si specificano valori per X e Y, mesh utilizza i vettori (1:n) e (1:m).

È possibile utilizzare la funzione meshgrid per creare matrici X e Y.

La proprietà XData dell'oggetto superficie memorizza le coordinate x.

Esempio X = 1:10

Esempio X = [1 2 3; 1 2 3; 1 2 3]

Esempio [X,Y] = meshgrid(-5:0.5:5)

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

Coordinate y, specificate come matrice della stessa grandezza di Z o come vettore di lunghezza m, dove [m,n] = size(Z). Se non si specificano valori per X e Y, mesh utilizza i vettori (1:n) e (1:m).

È possibile utilizzare la funzione meshgrid per creare le matrici X e Y.

La proprietà YData dell'oggetto superficie memorizza le coordinate y.

Esempio Y = 1:10

Esempio Y = [1 1 1; 2 2 2; 3 3 3]

Esempio [X,Y] = meshgrid(-5:0.5:5)

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

Coordinate z, specificate come matrice. Z deve avere almeno due righe e due colonne.

Z specifica l'altezza del grafico a griglia per ogni coordinata x-y. Se non si specificano i colori, Z specifica anche i colori dei bordi della griglia.

La proprietà ZData dell'oggetto superficie memorizza le coordinate z.

Esempio Z = [1 2 3; 4 5 6]

Esempio Z = sin(x) + cos(y)

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

Array di colori, specificato come matrice m x n degli indici della mappa dei colori o come array m x n x 3 di triplette RGB, dove Z è m x n.

  • Per utilizzare i colori della mappa dei colori, specificare C come una matrice. Per ciascun punto della griglia sulla superficie della griglia, C indica un colore della mappa dei colori. La proprietà CDataMapping dell'oggetto superficie controlla il modo in cui i valori in C corrispondono ai colori della mappa dei colori.

  • Per utilizzare i colori truecolor, specificare C come array di triplette RGB.

Per maggiori informazioni, vedere Differences Between Colormaps and Truecolor.

La proprietà CData dell'oggetto superficie memorizza l'array di colori. Per un ulteriore controllo sulla colorazione della superficie, utilizzare le proprietà FaceColor e EdgeColor.

Assi su cui tracciare, specificati come oggetto Axes o PolarAxes. Se non si specificano gli assi, mesh traccia sugli assi attuali o crea un oggetto Axes (assi cartesiani).

Argomenti nome-valore

comprimi tutto

Specificare coppie opzionali di argomenti come Name1=Value1,...,NameN=ValueN, dove Name è il nome dell’argomento e Value è il valore corrispondente. Gli argomenti nome-valore devono comparire dopo gli altri argomenti, mentre l'ordine delle coppie non è rilevante.

Per le release antecedenti alla R2021a, utilizzare le virgole per separare ciascun nome e valore e includere Name tra virgolette.

Esempio mesh(X,Y,Z,'FaceAlpha',0.5) crea un grafico a griglia semitrasparente.

Nota

Le proprietà qui elencate sono solo un sottoinsieme. Per un elenco completo, vedere Surface Properties.

Colore della linea del bordo, specificato come uno dei valori elencati in questa tabella.

ValoreDescrizione
'none'Non disegna i bordi.
'flat'

Utilizza un colore diverso per ciascun bordo in base ai valori della proprietà CData. Per prima cosa è necessario specificare la proprietà CData come matrice della stessa grandezza di ZData. Il valore del colore al primo vertice di ciascuna faccia (nelle direzioni positive di x e y) determina il colore per i bordi adiacenti. Non è possibile utilizzare questo valore quando la proprietà EdgeAlpha è impostata su 'interp'.

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

Utilizza una colorazione interpolata per ciascun bordo in base ai valori della proprietà CData. Per prima cosa è necessario specificare la proprietà CData come matrice della stessa grandezza di ZData. Il colore varia su ciascun bordo interpolando linearmente i valori del colore ai vertici. Non è possibile utilizzare questo valore quando la proprietà EdgeAlpha è impostata su 'flat'.

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

Tripletta RGB, codice di colore esadecimale o nome del colore

Utilizza il colore specificato per tutti i bordi. Questa opzione non utilizza i valori di colore della proprietà CData.

Sample of a surface with all edges shown in red

Le triplette RGB e i codici di colore esadecimali sono utili per specificare i colori personalizzati.

  • Una tripletta RGB è un vettore riga a tre elementi i cui elementi specificano le intensità dei componenti rosso, verde e blu del colore. Le intensità devono essere comprese nell'intervallo [0,1]; ad esempio, [0.4 0.6 0.7].

  • Un codice di colore esadecimale è un vettore di caratteri o uno scalare di stringa che inizia con un simbolo cancelletto (#) seguito da tre o sei cifre esadecimali che possono andare da 0 a F. I valori non differenziano tra maiuscole e minuscole. Quindi, i codici di colore "#FF8800", "#ff8800", "#F80" e "#f80" sono equivalenti.

In alternativa, è possibile specificare alcuni colori comuni per nome. Questa tabella elenca le opzioni di colore denominate, le terzine RGB equivalenti e i codici 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

Questa tabella elenca le tavolozze dei colori predefinite per i grafici nei temi chiaro e scuro.

TavolozzaColori della tavolozza

"gem": tema chiaro predefinito

Prima di R2025a: Per impostazione predefinita, la maggior parte dei grafici utilizza questi colori.

Sample of the "gem" color palette

"glow": tema scuro predefinito

Sample of the "glow" color palette

È possibile ottenere le triplette RGB e i codici di colore esadecimali per queste tavolozze utilizzando le funzioni orderedcolors e rgb2hex. Ad esempio, ottenere le triplette RGB per la tavolozza "gem" e convertirle in codici di colore esadecimali.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Prima di R2023b: Ottenere le triplette RGB utilizzando RGB = get(groot,"FactoryAxesColorOrder").

Prima di R2024a: Ottenere i codici di colore esadecimali utilizzando H = compose("#%02X%02X%02X",round(RGB*255)).

Stile delle linee, specificato come una delle opzioni elencate in questa tabella.

Stile delle lineeDescrizioneLinea risultante
"-"Linea continua

Sample of solid line

"--"Linea tratteggiata

Sample of dashed line

":"Linea punteggiata

Sample of dotted line

"-."Linea a tratti e punti

Sample of dash-dotted line, with alternating dashes and dots

"none"Nessuna lineaNessuna linea

Colore della faccia, specificato come uno dei valori nella tabella sottostante.

ValoreDescrizione
'flat'

Utilizza un colore diverso per ciascuna faccia in base ai valori della proprietà CData. Per prima cosa è necessario specificare la proprietà CData come matrice della stessa grandezza di ZData. Il valore del colore al primo vertice di ciascuna faccia (nelle direzioni positive di x e y) determina il colore per l'intera faccia. Non è possibile utilizzare questo valore quando la proprietà FaceAlpha è impostata su 'interp'.

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

Utilizza una colorazione interpolata per ciascuna faccia in base ai valori della proprietà CData. Per prima cosa è necessario specificare la proprietà CData come matrice della stessa grandezza di ZData. Il colore varia su ciascuna faccia interpolando i valori del colore ai vertici. Non è possibile utilizzare questo valore quando la proprietà FaceAlpha è impostata su 'flat'.

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

Tripletta RGB, codice di colore esadecimale o nome del colore

Utilizza il colore specificato per tutte le facce. Questa opzione non utilizza i valori di colore della proprietà CData.

Sample of a surface with all faces shown in red

'texturemap'Trasforma i dati del colore in CData in modo che siano conformi alla superficie.
'none'Non disegna le facce.

Le triplette RGB e i codici di colore esadecimali sono utili per specificare i colori personalizzati.

  • Una tripletta RGB è un vettore riga a tre elementi i cui elementi specificano le intensità dei componenti rosso, verde e blu del colore. Le intensità devono essere comprese nell'intervallo [0,1]; ad esempio, [0.4 0.6 0.7].

  • Un codice di colore esadecimale è un vettore di caratteri o uno scalare di stringa che inizia con un simbolo cancelletto (#) seguito da tre o sei cifre esadecimali che possono andare da 0 a F. I valori non differenziano tra maiuscole e minuscole. Quindi, i codici di colore "#FF8800", "#ff8800", "#F80" e "#f80" sono equivalenti.

In alternativa, è possibile specificare alcuni colori comuni per nome. Questa tabella elenca le opzioni di colore denominate, le terzine RGB equivalenti e i codici 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

Questa tabella elenca le tavolozze dei colori predefinite per i grafici nei temi chiaro e scuro.

TavolozzaColori della tavolozza

"gem": tema chiaro predefinito

Prima di R2025a: Per impostazione predefinita, la maggior parte dei grafici utilizza questi colori.

Sample of the "gem" color palette

"glow": tema scuro predefinito

Sample of the "glow" color palette

È possibile ottenere le triplette RGB e i codici di colore esadecimali per queste tavolozze utilizzando le funzioni orderedcolors e rgb2hex. Ad esempio, ottenere le triplette RGB per la tavolozza "gem" e convertirle in codici di colore esadecimali.

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

Prima di R2023b: Ottenere le triplette RGB utilizzando RGB = get(groot,"FactoryAxesColorOrder").

Prima di R2024a: Ottenere i codici di colore esadecimali utilizzando H = compose("#%02X%02X%02X",round(RGB*255)).

Trasparenza della faccia, specificata come uno dei seguenti valori:

  • Scalare nell'intervallo [0,1]: utilizza una trasparenza uniforme su tutte le facce. Un valore di 1 è completamente opaco, mentre 0 è completamente trasparente. I valori compresi tra 0 e 1 sono semitrasparenti. Questa opzione non utilizza i valori di trasparenza della proprietà AlphaData.

  • 'flat': utilizza una trasparenza diversa per ciascuna faccia in base ai valori della proprietà AlphaData. Il valore della trasparenza del primo vertice determina la trasparenza dell'intera faccia. Per prima cosa è necessario specificare la proprietà AlphaData come matrice della stessa grandezza della proprietà ZData. Anche la proprietà FaceColor deve essere impostata su 'flat'.

  • 'interp': utilizza la trasparenza interpolata per ciascuna faccia in base ai valori della proprietà AlphaData. La trasparenza varia su ciascuna faccia interpolando i valori ai vertici. Per prima cosa è necessario specificare la proprietà AlphaData come matrice della stessa grandezza della proprietà ZData. Anche la proprietà FaceColor deve essere impostata su 'interp'.

  • 'texturemap': trasforma i dati in AlphaData in modo che siano conformi alla superficie.

Effetto degli oggetti luce sulle facce, specificato come uno di questi valori:

  • 'flat': applica la luce in modo uniforme su tutta la faccia. Utilizzare questo valore per visualizzare gli oggetti sfaccettati.

  • 'gouraud': varia la luce sulle facce. Calcola la luce sui vertici e poi la interpola linearmente sulle facce. Utilizzare questo valore per visualizzare le superfici curve.

  • 'none': non applica la luce degli oggetti luce sulle facce.

Per aggiungere un oggetto luce agli assi, utilizzare la funzione light.

Nota

Il valore 'phong' è stato rimosso. Utilizzare invece 'gouraud'.

Suggerimenti

  • Per rimuovere le linee nascoste dal grafico, utilizzare la funzione hidden.

  • Per controllare la sfumatura di colore delle superfici del grafico, utilizzare la funzione shading.

  • Per creare una superficie tridimensionale con colori delle facce, utilizzare la funzione surf.

Funzionalità estese

espandi tutto

Cronologia versioni

Introduzione prima di R2006a

espandi tutto