일반적인 {i, x, y} 차원 행렬이 있고 모든 “i”{x, y} 행렬을 하나의 그래프에 플로팅하려고합니다. . 각각의 “i”번째 곡선을 다른 곡선과 구분할 수있는 방법으로 어떻게 할 수 있습니까? (플롯을 사용하여 다른 색상의 곡선을 만드는 것을 의미합니다).
이 코드는 제가 작성한 코드의 예입니다. 하지만 테이블을 사용하여 루프를 생성했기 때문에 곡선을 구분할 수 없었습니다.
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}]]
실제 행렬의 차원이 더 높기 때문에 Plot [을 사용할 수 없습니다. {}, {}, {}, ..] 다양한 색상을 만듭니다.
누군가 도와 주면 감사하겠습니다.
답변
다음은 한 가지 옵션입니다.
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}]]
다른 옵션 :
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}]]
같은 이미지
댓글
- 감사합니다. , 나는 ' 내가 원하는 것 같아요
- 다른 i " s?
- PlotLegends-> {Subscript [ Ne, i]}, 각 i에 해당
- {[ Phi], 1, 5} 뒤에 플롯 범례를 추가하면 ' 나에게 적합하지 않음
- @DelaramNematollahi PlotLegends를 포함하도록 답변을 업데이트했습니다.