Jeg har en generel {i, x, y} dimensionel matrix, og jeg vil plotte alle “i” {x, y} matricer i en graf . Hvordan kan jeg gøre det på en måde, så jeg stadig kan skelne hver “i” kurve fra den anden (jeg mener at skabe kurver med forskellige farver ved hjælp af plot).

Dette er et eksempel på en kode, jeg skrev, men da jeg brugte tabel til at oprette en løkke, kunne jeg ikke skelne kurverne:

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 rigtige matricer har højere dimensioner, så jeg kan ikke bruge Plot [ {}, {}, {}, ..] for at skabe de forskellige farver.

Jeg ville være taknemmelig, hvis nogen kunne hjælpe mig med dette.

Svar

Her er en mulighed:

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

indtast billedebeskrivelse her

En anden mulighed:

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 billede

Kommentarer

  • Tak Jeg antager, at ' er hvad jeg vil
  • Hvordan gør jeg viser plotlegenderne for forskellige farver svarende til forskellige i " s?
  • Jeg vil have sth som PlotLegends – > {Subscript [ Ne, i]} svarende til hver i
  • tilføjelse af plottetekst efter {[ Phi], 1, 5} ikke ' fungerer ikke for mig
  • @DelaramNematollahi Opdateret svar til at inkludere PlotLegends.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *