X, Y, Z 데이터, Excel 또는 기타 도구에서 3D Ploting
다음과 같은 데이터가 있습니다.
1000 13 75.2
1000 21 79.21
1000 29 80.02
5000 29 87.9
5000 37 88.54
5000 45 88.56
10000 29 90.11
10000 37 90.79
10000 45 90.87
첫 번째 열을 x 축 레이블로, 두 번째 열을 y 축 레이블로, 세 번째 열을 z 값으로 사용하고자 합니다.저는 그런 식으로 표면을 표시하고 싶습니다.이것을 하는 가장 좋은 방법은 무엇입니까?저는 엑셀을 시도해 보았지만 실제로는 아무 것도 얻지 못했습니다.이것을 할 수 있는 도구에 대한 제안이 있는 사람이 있습니까?엑셀에서 이걸 어떻게 하는지 아는 사람?
감사해요.
결국 매트플롯립을 하게 되었습니다 :)
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as np
x = [1000,1000,1000,1000,1000,5000,5000,5000,5000,5000,10000,10000,10000,10000,10000]
y = [13,21,29,37,45,13,21,29,37,45,13,21,29,37,45]
z = [75.2,79.21,80.02,81.2,81.62,84.79,87.38,87.9,88.54,88.56,88.34,89.66,90.11,90.79,90.87]
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(x, y, z, cmap=cm.jet, linewidth=0.2)
plt.show()
3열의 데이터를 '표면'으로 표시할 수 없습니다.'Z' 데이터 열이 하나만 있으면 표면이 아닌 3차원 공간에 선이 표시됩니다(또는 데이터의 경우 세 개의 별도 선).Excel이 이 데이터를 사용할 수 있으려면 다음과 같이 형식을 지정해야 합니다.
13 21 29 37 45
1000 75.2
1000 79.21
1000 80.02
5000 87.9
5000 88.54
5000 88.56
10000 90.11
10000 90.79
10000 90.87
그런 다음, 실제 표면을 얻으려면 모든 결측 셀에 적절한 Z 값을 채워야 합니다.이 데이터가 없는 경우 표면에 대한 데이터가 충분하지 않으므로 3개의 개별 2D 선으로 표시하는 것이 좋습니다.
Excel이 위의 데이터를 제공하는 최고의 3D 표현은 매우 혼란스럽습니다.
이 제한된 데이터셋을 2D 데이터로 표현하는 것이 더 나은 선택이 될 수 있습니다.
향후 참고 사항으로, 이러한 유형의 질문은 보통 superuser.com 에서 조금 더 효과적입니다.
3D 플롯을 위해 사용자 라이브러리를 사용할 수 있습니다.
단계는 다음과 같습니다.
먼저 data.frame() 명령을 사용하여 데이터 프레임을 만듭니다.
산점도 3D 라이브러리를 사용하여 3D 그림을 만듭니다.
또는 plot3d() 명령을 사용하여 rgl 라이브러리를 사용하여 차트를 회전할 수도 있습니다.
또는 rcmdr 라이브러리에서 plot3d() 명령을 사용할 수도 있습니다.
MATLAB에서는 필요에 따라 surf(), mesh() 또는 surfl() 명령을 사용할 수 있습니다.
[http://in.mathworks.com/help/matlab/examples/creating-3-d-plots.html ]
사용할 수도 있습니다.Gnuplot
에서 구할 수도 있는gretl
. 텍스트 파일에 xyz 데이터를 입력하고 다음을 삽입합니다.
splot 'test.txt' using 1:2:3 with points palette pointsize 3 pointtype 7
그러면 다음을 이용하여 라벨 등을 설정할 수 있습니다.
set xlabel "xxx" rotate parallel
set ylabel "yyy" rotate parallel
set zlabel "zzz" rotate parallel
set grid
show grid
unset key
같은 값을 포함하는 행을 병합하는 것은 어떨까요?
13 21 29 37 45
1000] -75.2 -- 79.21 -- 80.02
5000] ---------------------87.9---88.54----88.56
10000] -------------------90.11--90.97----90.87
엑셀은 그것을 꽤 잘 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/15881959/3d-plotting-from-x-y-z-data-excel-or-other-tools
'programing' 카테고리의 다른 글
시스템 재시작 시 영원히(노드) 자동 시작 (0) | 2023.09.19 |
---|---|
node.js를 이용한 이미지 업로드, 표시 및 저장 방법 및 표현 방법 (0) | 2023.09.19 |
프리드가 EOF에 일찍 도달하는 이유는 무엇입니까? (0) | 2023.09.19 |
mySQL에서 SQL Server 함수 SCOPE_IDENTITY()의 등가? (0) | 2023.09.19 |
gcc의 -m32 옵션은 언제 사용해야 합니까? (0) | 2023.09.19 |