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

2023. 4. 28. 00:38·연구 Research/데이터과학 Data Science

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()
저작자표시 비영리 변경금지 (새창열림)

'연구 Research > 데이터과학 Data Science' 카테고리의 다른 글

[데이터과학] scipy interpolation 종류 정리  (0) 2023.08.25
[matplotlib] x,y축 format 지정하는 방법  (0) 2023.06.08
[데이터과학] Pandas에서 dataframe 생성 및 export  (0) 2023.04.27
[데이터과학] Unbalancing data 처리  (0) 2021.05.26
[데이터과학] 결측치 Missing Data 처리  (0) 2021.05.25
'연구 Research/데이터과학 Data Science' 카테고리의 다른 글
  • [데이터과학] scipy interpolation 종류 정리
  • [matplotlib] x,y축 format 지정하는 방법
  • [데이터과학] Pandas에서 dataframe 생성 및 export
  • [데이터과학] Unbalancing data 처리
보통의공대생
보통의공대생
수학,프로그래밍,기계항공우주 등 공부하는 기록들을 남깁니다.
  • 보통의공대생
    뛰는 놈 위에 나는 공대생
    보통의공대생
  • 전체
    오늘
    어제
    • 분류 전체보기 (459)
      • 공지 (1)
      • 영어 공부 English Study (40)
        • 텝스 TEPS (7)
        • 글 Article (21)
        • 영상 Video (10)
      • 연구 Research (99)
        • 최적화 Optimization (3)
        • 데이터과학 Data Science (7)
        • 인공지능 Artificial Intelligent (40)
        • 제어 Control (45)
      • 프로그래밍 Programming (103)
        • 매트랩 MATLAB (25)
        • 파이썬 Python (33)
        • 줄리아 Julia (2)
        • C++ (3)
        • 리눅스 우분투 Ubuntu (6)
      • 항공우주 Aeronautical engineeri.. (21)
        • 항법 Navigation (0)
        • 유도 Guidance (0)
      • 기계공학 Mechanical engineering (13)
        • 열역학 Thermodynamics (0)
        • 고체역학 Statics & Solid mechan.. (10)
        • 동역학 Dynamics (1)
        • 유체역학 Fluid Dynamics (0)
      • 수학 Mathematics (34)
        • 선형대수학 Linear Algebra (18)
        • 미분방정식 Differential Equation (3)
        • 확률및통계 Probability & Sta.. (2)
        • 미적분학 Calculus (1)
        • 복소해석학 Complex Analysis (5)
        • 실해석학 Real Analysis (0)
      • 수치해석 Numerical Analysis (21)
      • 확률 및 랜덤프로세스 Random process (2)
      • 추론 & 추정 이론 Estimation (3)
      • 기타 (26)
        • 설계 프로젝트 System Design (8)
        • 논문작성 Writing (55)
        • 세미나 Seminar (2)
        • 생산성 Productivity (3)
      • 유학 생활 Daily (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    옵시디언
    pytorch
    고체역학
    Linear algebra
    matplotlib
    obsidian
    LaTeX
    MATLAB
    Zotero
    IEEE
    WOX
    딥러닝
    ChatGPT
    Dear abby
    수치해석
    텝스
    인공지능
    텝스공부
    Python
    Julia
    서버
    JAX
    Numerical Analysis
    논문작성법
    에러기록
    우분투
    생산성
    논문작성
    Statics
    teps
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
보통의공대생
[Matplotlib] 3D scatter plot 그리는 코드
상단으로

티스토리툴바