Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[Matplotlib] 3D scatter plot 그리는 코드 본문

연구 Research/데이터과학 Data Science

[Matplotlib] 3D scatter plot 그리는 코드

보통의공대생 2023. 4. 28. 00:38

matplotlib에서 3D scatter plot을 그리는 방법

 

3D plot을 그리기 위한 코드는 여러 방식이 있을 텐데 아래 방식이 가장 스탠다드인 것 같아서 이렇게 사용한다.

 

max_value = np.amax( np.abs(data) ) # max값으로 축 제한

fig = plt.figure(constrained_layout=True)
ax = fig.add_subplot(projection='3d')
ax.scatter(data[:,0], data[:,1], data[:,2], marker='o', color ='r', alpha=1.0)

ax.set_xlim([-max_value, max_value])
ax.set_ylim([-max_value, max_value])
ax.set_zlim([-max_value, max_value])
ax.tick_params(labelsize=12)
ax.set_xlabel('x',fontsize=14)
ax.set_ylabel('y',fontsize=14)
ax.set_zlabel('z',fontsize=14)
plt.show()

마커와 투명도를 선택할 수 있다.

 

이 때 컬러맵을 사용할 수도 있다.

 

fig = plt.figure(constrained_layout=True)
ax = fig.add_subplot(projection='3d')
ax.scatter(data[:,0], data[:,1], data[:,2], marker='o', c=data[:,3], cmap='viridis', alpha=1.0)

 

이렇게 코드를 cmap과 c라는 arg를 추가해서 만들 수 있지만 여기에 컬러바까지 추가하고 싶을 수 있다.

 

이럴 때는

fig = plt.figure(constrained_layout=True)
ax = fig.add_subplot(projection='3d')
p = ax.scatter(data[:,0], data[:,1], data[:,2], marker='o', c=data[:,3], cmap='viridis', alpha=1.0)
fig.colorbar(p)
plt.show()
Comments