python 시각화

2570 단어

1. matplotlib


1. Figure와 Axes 이해


4
  • 어떤 그림을 그리기 전에 우리는Figure 대상이 필요하다. 이것은 우리가 그림을 그리기 시작하려면 화판이 필요하다는 것을 이해할 수 있다
  • 4
  • Figure 개체를 가진 후에 그림을 그리기 전에 축이 필요합니다. 축이 없으면 그림 기준이 없기 때문에 Axes 개체를 추가해야 합니다.정말 그림을 그릴 수 있는 종이로 이해할 수도 있고.
  • 4
  • 화판과 화지를 생성하는 방식: 1. 먼저 화판을 만들고 화판에 지정된 위치에 화지를 추가한다.2、한꺼번에 화판과 모든 화지를 생성한다
  • 2.Axes로 그림 그리기


    2.1 Axes를 이용하여 그림을 그리는 방법은 두 가지가 있는데 예를 들어 plot()로 선형도를 그리는 것을 예로 들 수 있다.
    4
  • 방식 1로 ax를 직접 그립니다.plot(x,y)
  • x = np.linspace(0, np.pi)
    y = np.sin(x)
    ax.plot(x,y)
    
    4
  • 방식 2 키워드 매개변수를 사용한 드로잉 방식 4
  • ax.plot('x', 'mean', data=data_obj)
    
    2.2 Axes를 통해 화지를 설정할 수 있다. 예를 들어 제목, 좌표축 구간, 도례 등이다.

    3. 화판&화지를 이용하지 않는 간단한 그림 그리기


    3.1 단순 드로잉 방식
    3.2 배치, 범례 설명, 경계 등 설정

    2. seaborn


    1. 소개


    4
  • Seaborn은 matplotlib 기반의 그래픽 시각화python 패키지입니다
  • 4
  • Seaborn은 matplotlib의 기초 위에서 더욱 높은 API 봉인을 진행했기 때문에 Seaborn을 대체물이 아니라 matplotlib의 보충물로 간주해야 한다
  • 4
  • 또한numpy와pandas 데이터 구조, scipy와statsmodels 등 통계 모델을 고도로 호환할 수 있다
  • 2. 사용


    입력한 데이터 형식은 목록,numpy 수조,pandas 시리즈 대상의 데이터 벡터로 x, y,hue 인자에 직접 전달할 수 있습니다.
    2.1 sns를 이용하여 그림을 그리는 방법은 두 가지가 있다. (Axes 그림을 그리는 원리와 유사하다). 예를 들어 다음과 같다.
    # 
    sns.boxplot(x='OverallQual', y="SalePrice", data=data)
    
    2.2 함수가 되돌아오는ax를 이용하여 세부 설정을 하고 sns.boxplot 함수는 Axes 축 대상을 되돌려주고 그 위에 그림을 그립니다.즉, [이미 그려진ax 대상]을 되돌려주고 이ax 대상을 이용하여 세부 설정을 할 수 있다.

    3. 판다스의 plot 그림 그리는 방법


    이런 방법은 간단한 그림, 예를 들어 접선도, 산점도를 그리기에 적합하다.
    ax = data.plot.scatter(x='A',y='B',color='DarkBlue',label='Class1')
    data.plot.scatter(x='A',y='C',color='LightGreen',label='Class2',ax=ax)
    
    이 방법에는 매개 변수ax가 하나 있는데, 위에서 알 수 있듯이ax가 지정되지 않았을 때 데이터입니다.plot.scatter는 그림을 그리는 동시에ax 화지를 생성하기 때문에 추가로 만들 필요가 없습니다.

    4. 시각화 데모


    demo1

    #  
    ser = pd.Series(np.arange(1,5), index=[i for i in "ABCD"])
    #  & 
    fig, ax = plt.subplots(figsize = (10,6))
    #  sns 
    sns.barplot(x=ser.index, y=ser)
    #  
    plt.xticks(rotation='90') # rotation lable 
    plt.xlabel('X Name', fontsize=15)
    plt.ylabel('Y Name', fontsize=15)
    plt.title('Demo_1 barplot', fontsize=15)
    #  
    plt.show()
    

    demo2

    #  , , 0.00 1.00 
    #  , -1.00 0.00 
    corr_df = train.corr()
    fig,ax = plt.subplots(figsize=(12,8))
    sns.heatmap(corr_df, vmax=.8, square=True) # sns 
    plt.show()
    

    좋은 웹페이지 즐겨찾기