728x90
오늘은 3D 그래프를 그려보겠습니다.
3D그래프에 줄 효과는,
- 색상 변경
- 산점도 색의 진하기 조정
- View Angle 조정
입니다!
다른것은 이미 유사한 내용이겠지만 3번은 3D 그래프에만 존재하는 것이에요.
관련 라이브러리는 아래와 같아요.
1
|
from mpl_toolkits.mplot3d import Axes3D
|
cs |
코드도 아주 간단하답니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111, projection='3d')
for i in range(len(['orange', 'blue'])):
ax.scatter(np.array(df['xx']), np.array(df['yy']), np.array(df['zz']), s=50, alpha=0.5)
ax.set_xlabel('x axis')
ax.set_ylabel('y axis')
ax.set_zlabel('z axis')
# View Angle 조정하기
ax.view_init(20,80)
plt.show()
|
cs |
여기서 중요한 것은 x, y, z값에 들어가는 형태는 array형태이며
혹시, 만약 1차원 array가 error난다면
강제로 2차원 array로 변경해주셔야 됩니다.
2차원 array로 변경은 아래 예시와 같이 하시면 됩니다!
1
|
np.array(df['xx']).reshape([2,65])
|
cs |
1. 색상변경
색상은 for문으로 구성해서 orange와 blue (default 색상) 인 2가지로 표현하는 식입니다.
for i in range(len(['orange', 'blue'])):
2. 진하기 조정
alpha=0.5 값으로 색상의 진하기를 조정할 수 있습니다. (max=1)
3. View Angle 조정하기
ax.view_init(20,80)
왼쪽의 숫자는 altitude를
오른쪽의 숫자는 horizontal값을 조정해줍니다.
위의 그래프를 보시면 12보다 20의 값이 더 위에서 내려다 보는 느낌입니다.
12를 0으로 줄이면 바로 정면 같은 높이에서 보는 형식이 됩니다.
마찬가지로
20보다는 80이 조금더 시계방향으로 회전된 것을 보실 수 있습니다.
ax.view_init(-100, -30) 과 같이 음수의 값도 가능하니 여러번 그려보시면 이해 되실 거에요!
728x90
'IT > 파이썬' 카테고리의 다른 글
Precision 과 Recall, 그리고 Accuracy (0) | 2021.04.15 |
---|---|
Isolation Forest와 One-Class SVM (0) | 2021.02.23 |
GridSearchCV 2탄 (for문 활용) (0) | 2021.02.18 |
[그래프] pivot_table을 활용한 heatmap 그래프 그리기 (0) | 2021.02.09 |
Stack과 melt로 데이터 Transpose하기 (0) | 2021.02.06 |