2010-03-23 5 views
2

데이터 형식이 { {x,y,z,f}...}입니다. ListContourPlot3D을 사용하고 있지만, 각 방향으로 -1에서 1 크기의 빈 상자가 나타납니다. 여기 내 코드입니다 :Mathematica ListcontourPlot3D

ListContourPlot3D[data5, PlotRange -> All, 
    AxesLabel -> {"[Beta]", "[Omega]", "Vo"}, Contours -> {1500}]. 

이 내 데이터의 첫 번째 5 점 :(전체 세트 55 점을 가지고)

{{200, 20000 10^(1/3), 2000, 1226}, 
{200, 20000 10^(1/3), 2600, 1422}, 
{200, 20000 10^(1/3), 3200, 1581}, 
{200, 20000 10^(1/3), 3800, 1761}, 
{200, 20000 10^(1/3), 4400, 1872}} 

Dimensions[data5] 반환됩니다 {55,4} 내가 IntegerPart[data5]을 할 경우 제대로 그래서 그것을 않습니다 그것은 내 데이터의 숫자를 인식해야합니다.

모든 아이디어에 감사드립니다. 감사합니다.

답변

1

전체 데이터 세트가 없어도 알기 어렵지만 Contours -> {1500} 설정에 문제가있을 것입니다. 이 값을 모두 생략하거나 다른 값을 사용하면 어떻게됩니까?

1

윤곽선 -> num 등 간격의 윤곽선을 음영으로 표시합니다. 윤곽선 -> {num} f [x, y, z] = num 윤곽을 그립니다.

이전을 의미 했습니까? 너무 희박하거나 현지화 된 경우 ListContourPlot3D가 데이터를 플롯 할 수 있을지 의심 스럽습니다. 우리가 준 데이터 샘플은 x와 y가 전혀 변하지 않습니다. x와 y는 좌표 공간을 잘 채우기 위해 최종 데이터 세트에서 충분히 다양합니까?

1

@ Davorak의 suggestion 작성된대로 데이터 세트가 문제의 원인 일 수는 없습니다. 그렇지 않은 경우 결과 그래픽을 회전하고 검은 색 평면이 나타나면 꺼져있는 색 구성표입니다. 기본적으로 ListContourPlot3D은 불투명도가 인 흰색 표면을 생성하며, 아무 것도 생성하지 못하는 문제가 있었지만 보이지 않았습니다. 해결책 : ContourStyle 옵션을 추가하고 Red과 같은 값으로 설정합니다.

1

낮은 해상도에서 ListContourPlot3D의 {x, y, z, f} 형식을 사용하는 것이 문제입니다. 는 나뿐만 아니라, 여기에 버그의 최소한의 예는 몇 주 전에이 비틀 거렸다 :

xyzfdata[r_] := Flatten[#, 2] &@Table[{x, y, z, x^2 + y^2 + z^2 - 1}, 
    {x, -2, 2, r}, {y, -2, 2, r}, {z, -2, 2, r}]; 
(* Low resolution {x,y,z,f} fails *) 
ListContourPlot3D[xyzfdata[1], Contours -> {0}] 

내 경우에는이 솔루션 그리드 형태와 DataRange를 사용하는 것이 었습니다 (I 그리드 내 데이터를했다) :

fdata[r_] := Table[x^2 + y^2 + z^2 - 1, 
    {z, -2, 2, r}, {y, -2, 2, r}, {x, -2, 2, r}]; 
(* Low resolution works ok for array data *) 
ListContourPlot3D[fdata[1], Contours -> {0}, 
    DataRange -> 2 {{-1, 1}, {-1, 1}, {-1, 1}}] 

I 문제가 {X, Y, Z, F}에 대한 형태, 구현 저해상도 못하는 방식으로 보간을 사용한다는 생각. 첫 번째 예에서 해상도를 높이면 모든 것이 작동합니다.

(* Higher resolution {x,y,z,f} works *) 
ListContourPlot3D[xyzfdata[.2], Contours -> {0}] 
관련 문제