Jag har en generell {i, x, y} dimensionell matris och jag vill plotta alla ”i” {x, y} matriser i ett diagram . Hur kan jag göra det på ett sätt så att jag fortfarande kan skilja varje ”i” kurva från den andra (jag menar att skapa kurvor med olika färger med hjälp av plot).

Detta är ett exempel på en kod jag skrev, men eftersom jag använde tabell för att skapa en slinga kunde jag inte skilja kurvorna:

a = Table[Random[], {i, 1, 4}, {x, 1, 6}, {y, 1, 5}]; Show[Table[ aFxn = ListInterpolation[(Chop[a[[i + 1]]] - Chop[a[[i]]])]; Table[aFxn[\[Theta], \[Phi]], {\[Theta], 1, 6}, {\[Phi], 1, 5}]; Plot[Abs[aFxn[3, \[Phi]]], {\[Phi], 1, 5}, PlotLegends -> {Subscript[Ne, i]}, PlotRange -> All, AxesLabel -> {Ne, spinupcoefficient}], {i, 1, 3}]] 

Mina riktiga matriser har högre dimensioner, så jag kan inte använda Plot [ {}, {}, {}, ..] för att skapa olika färger.

Jag skulle vara tacksam om någon kunde hjälpa mig med detta.

Svar

Här är ett alternativ:

curves = Table[ aFxn = ListInterpolation[(Chop[a[[i + 1]]] - Chop[a[[i]]])]; Abs[aFxn[3, ϕ]] , {i, 1, 3}]; Plot[curves, {ϕ, 1, 5}, PlotLegends -> Table[Subscript[Ne, i], {i, 1, 3}]] 

ange bildbeskrivning här

Ett annat alternativ:

curve[i_] := ListInterpolation[(Chop[a[[i + 1]]] - Chop[a[[i]]])] Plot[Evaluate@Table[Abs[curve[i][3, ϕ]], {i, 1, 3}], {ϕ, 1, 5}, PlotLegends -> Table[Subscript[Ne, i], {i, 1, 3}]] 

samma bild

Kommentarer

  • Tack Jag antar att ' är vad jag vill
  • Hur visar jag plotlegendorna för olika färger som motsvarar olika i " s?
  • Jag vill sth som PlotLegends – > {Subscript [ Ne, i]}, motsvarande varje i
  • som lägger till plotlegend efter {[ Phi], 1, 5} inte ' fungerar inte för mig
  • @DelaramNematollahi Uppdaterat svar för att inkludera PlotLegends.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *