ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Scatter plot
    CS 공부/Data Visualization 2023. 3. 26. 17:36

    Scatter plot


    • 두 점을 사용하여 두 특성간의 관계를 알기 위해 사용 (상관 관계를 확인하기 위해)
    • 산점도- 인과 관계와 상관 관계는 다르다!
    • 직교 좌표계에서 x축/y축에 feature값 매핑
    • .scatter() 사용
    • '/' 모양이면 긍정적인 관계,  '\'모양이면 부정적인 관계, 둘다 아니면 상관성 없음
    • 추세선을 사용하면 scatter의 패턴을 유추할 수 있다 (한개만 사용하는 것 추천)
    • 범주형이 포함된 관계에서는 heatmap 또는 bubble chart를 추천한다

    scatter plot의 요소
    • 색(color): 연속은 gradient, 이산은 개별 색상으로
    • 모양(marker): 거의 구별하기 힘들고 어느 것이 더 큰지 구별안됨
    • 크기(size): 크기가 다른 차트를 bubble chart라고 부름. 구별하기는 쉽지만 오용하기 쉬움

     

    Overplotting - 점이 많아질수록 분포를 파악하기 힘들다
    • 투명도 조정
    • jittering: 점의 위치를 약간씩 변경해서 안겹치도록 함 (별로임)
    • 2차원 히스토그램: 히트맵을 사용해서 깔끔하게 시각화
    • Contour plot: 등고선으로 표현

     

    Scatter plot 코드


    Scatter plot의 요소

    fig = plt.figure(figsize=(7, 7))
    ax = fig.add_subplot(111, aspect=1)
    
    np.random.seed(970725)
    
    x = np.random.rand(20)
    y = np.random.rand(20)
    s = np.arange(20) * 10 # =200
    
    ax.scatter(x, y, 
               s= s, # size=200
               c='grey', # 점의 색
               marker='o', #마커
               linewidth=1,
               edgecolor='black') #테두리 색
    
    plt.show()

    시각적인 주의를 위해 선 표시하기

    fig = plt.figure(figsize=(7, 7))
    ax = fig.add_subplot(111)
    
    ax.axvline(2.5, color='gray', linestyle=':')    
    ax.axhline(0.8, color='gray', linestyle=':')    
    ax.legend()    
    plt.show()

     

    'CS 공부 > Data Visualization' 카테고리의 다른 글

    Grid type, 선/면 추가  (0) 2023.03.27
    Matplotlib 시각화 요소 (Text, Color, Facet)  (0) 2023.03.27
    Line plot  (0) 2023.03.26
    Bar plot  (0) 2023.03.25
    Matplotlib 기초 (그래프 틀, 막대그래프 그리기, annotate)  (0) 2023.03.24
Designed by Tistory.