Jeg har en generell {i, x, y} dimensjonsmatrise, og jeg vil plotte alle «i» {x, y} matriser i en graf . Hvordan kan jeg gjøre det på en måte som jeg fremdeles kan skille hver «i» kurve fra den andre (jeg mener å lage kurver med forskjellige farger ved hjelp av plott).

Dette er et eksempel på en kode jeg skrev, men siden jeg brukte tabell for å lage en løkke, kunne jeg ikke skille kurvene:

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}]] 

Mine virkelige matriser har høyere dimensjoner, så jeg kan ikke bruke Plot [ {}, {}, {}, ..] for å lage de forskjellige fargene.

Jeg vil være takknemlig hvis noen kan hjelpe meg med dette.

Svar

Her er 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}]] 

skriv inn bildebeskrivelse her

Et annet 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}]] 

samme bilde

Kommentarer

  • Takk , Antar jeg at ' er det jeg vil
  • Hvordan viser jeg plotlegendene for forskjellige farger som tilsvarer forskjellige i " s?
  • Jeg vil ha sth som PlotLegends – > {Subscript [ Ne, i]}, tilsvarer hver i
  • som legger til plottetekst etter {[ Phi], 1, 5} ikke ' t fungerer for meg
  • @DelaramNematollahi Oppdatert svar for å inkludere PlotLegends.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *