Mam ogólną macierz wymiarową {i, x, y} i chcę wykreślić wszystkie macierze „i” {x, y} na jednym wykresie . Jak mogę to zrobić w taki sposób, że nadal mogę odróżnić każdą „i” krzywą od innych (mam na myśli tworzenie krzywych o różnych kolorach za pomocą wykresu).

Oto przykład kodu, który napisałem, ale ponieważ użyłem tabeli do utworzenia pętli, nie mogłem rozróżnić krzywych:

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 prawdziwe macierze mają większe wymiary, więc nie mogę użyć wykresu [ {}, {}, {}, ..] do tworzenia różnych kolorów.

Byłbym wdzięczny, gdyby ktoś mógł mi w tym pomóc.

Odpowiedź

Oto jedna opcja:

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

tutaj wprowadź opis obrazu

Inna opcja:

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

ten sam obraz

Komentarze

  • Dziękuję , Myślę, że ' jest tym, czego chcę
  • Jak pokazać legendy fabuły dla różnych kolorów odpowiadających różnym i " s?
  • Chcę czegoś takiego jak PlotLegends – > {Indeks [ Ne, i]}, odpowiadające każdemu i
  • dodaniu legendy fabuły po {[ Phi], 1, 5} nie ' nie działa dla mnie
  • @DelaramNematollahi Zaktualizowana odpowiedź, aby uwzględnić PlotLegends.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *