Mám obecnou {i, x, y} dimenzionální matici a chci vykreslit všechny „i“ {x, y} matice do jednoho grafu . Jak to mohu udělat tak, že stále dokážu odlišit každou „i“ tu křivku od druhé (mám na mysli vytváření křivek s různými barvami pomocí grafu).

Toto je příklad kódu, který jsem napsal, ale protože jsem použil tabulku k vytvoření smyčky, nemohl jsem rozlišit křivky:

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

Moje skutečné matice mají vyšší rozměry, takže nemohu použít Plot [ {}, {}, {}, ..] k vytvoření různých barev.

Byl bych vděčný, kdyby mi s tím mohl někdo pomoci.

Odpovědět

Tady je jedna možnost:

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

sem zadejte popis obrázku

Další možnost:

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

stejný obrázek

komentáře

  • děkuji , Myslím, že ' to, co chci
  • jak udělat, ukážu plotlegends pro různé barvy odpovídající různým i " s?
  • Chci něco jako PlotLegends – > {Dolní index [ Ne, i]}, odpovídající každému i
  • přidání legendy spiknutí po {[ Phi], 1, 5} ne ' nefunguje pro mě
  • @DelaramNematollahi aktualizovaná odpověď, aby zahrnovala PlotLegends.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *