サンプル統計図

27857 ワード

サンプル統計図
  • 版ダース(図表)+マット・フラリ(可視化)=サンプル(統計図表)
  • 市本公式サイトhttps://seaborn.pydata.org/2
  • 市本開発サイト:https://github.com/mwaskom/seaborn2
  • 市本開発サイトサンプリング:https://github.com/mwaskom/seaborn-data2
  • 仕事はGoogleのColabで済ませました.
    必要なモジュールをインポートします.
    import matplotlib as mpl
    import matplotlib.pyplot as plt  # 서브 패키지 모듈
    import numpy as np
    import seaborn as sns
    
    #데이터 파일의 경로를 지정한다.
    from pathlib import Path
    data_path = Path('경로)
    ペンシルデータの取得(iris)
    iris = sns.load_dataset('iris')
    
    iris

    この変数分布の散布図を描いてください.joinplot()
    # 데이터셋에 있는 열 이름들을 이용해서 x축,y축 데이터를 지정한다.
    sns_plot = sns.jointplot(x = 'sepal_length', y= 'sepal_width',data=iris, kind ='scatter')
    sns_plot.set_axis_labels(xlabel = '꽃받침_길이',ylabel = 'sepal_length', size =14)
    plt.suptitle('scatter plot',y = 1.04, size =24) # y값으로 제목을 띄워보자.
    
    sns_plot.savefig('/content/gdrive/My Drive/test/시본_산포도.png',dpi=600)
    plt.show()
    jointplot(x値、y値、データ、グラフィックフォーマット(タイプ)set_axis_labels(xlabel、ylabel、size)を使用してx、yの名前寸法を設定します.plt(matplotlib.pyplot)suptitle()メソッドでタイトルを指定できます.
    savefig()dpi=解像度に関連付けて保存
    かくみつどすいていぶんぷず
    # kind = kde
    # cmap = sns.cubehelix_palatte()
    # 데이터셋에 있는 열 이름들을 이용해서 x축,y축 데이터를 지정한다.
    sns_plot = sns.jointplot(x = 'sepal_length', y= 'sepal_width',data=iris, 
                             kind ='kde',
                             camp = 'plasma') # 핵밀도 추정 분포도
    sns_plot.set_axis_labels(xlabel = '꽃받침_너비',ylabel = '꽃받침_길이', size =14)
    plt.suptitle('붓꽃의 꽃받침 길이/넓이 산포도',y = 1.04, size =24) # y값으로 제목을 띄워보자.
    
    sns_plot.savefig('시본_산포도03.png',dpi=600)
    plt.show()
    camp="プラズマ"色
    多変数分布の散点図を描く
    # 꽃받침 길이, 넓이, 꽃잎의 길이, 넓이
    sns_plot = sns.pairplot(iris,hue= 'species')
    plt.suptitle('붓꽃의 다변량 비교 분포',y=1.04, size=24)
    
    # sns_plot.savefig(data_path/'시본_다변량04.png', dpi=600)
    plt.show()
    
    #해당 데이터 간의 열 (column)에 담긴 데이터들의 분포를 알 수 있고 , 각 열간의 상관 관계를 볼 수 있다.

    ビジュアル化plot=頭蓋(物の構造)=図plotting=知恵を絞る=描く=事前に絵の輪郭を描く=見えないけど、下図を全部描く.
    データ可視化(Data Visualization,Data Visualization,Data Visualization,Data Visualization):データをグラフィカルまたはテーブル形式で表示し、データを直感的に表示します.
    線図を使用します.(値配列が1つしかない場合)
    plt.plot([1,3,2,7,4])   #  y값
    plt.show()  # x = 위치 값 0,1,2,3,4 (y값 5개 일 경우)

    以上の例
    plt.plot([1,2,3,4,5,6,7,8,9,10])
    plt.show() # x = 0,1,2,3,4,5,6,7,8,9

    軸(axis):x軸とy軸を指します.
    値配列は1つしかありません.
    x軸:リスト要素の数を自動的に調整します.
    y軸:リスト要素値の最も近い値に自動的に調整されます.
    線図を使用します.(値配列が2つある場合)
    plt.plot([1,3,2,7,4,8,11,7] , [2,4,6,8,10,12,14,16]) # ( [x값] [y값] )
    plt.show()
    plt.plot([0,1,2,3,4,5,6,7,8,9] , [0,6,2,7,3,8,4,9,5,10]) # ( [x값] [y값] )
    plt.show()

    値の配列が2つある場合:
    x軸:最初の配列の要素はx値です.
    y軸:2番目のアレイの要素はy値
    図形豊富化:オフセット値の判別を導くには、正接した図形を使用します.
    x  = np.linspace(-2*np.pi, 2*np.pi, 20)
    
    #스타일 지정
    plt.plot(x, np.tanh(x), color='red',linestyle=':',marker = 's')
    plt.plot(x, np.tanh(x -2), color='blue',linestyle='--',marker = 'x')
    # 그래프 제목 추가
    plt.title('쌍곡 탄젠트그래프', fontsize = 20)
    
    #축 제목 추가
    plt.xlabel('파이')
    plt.ylabel('쌍곡 탄젠트')
    
    plt.grid() # 격자
    #범례 표시
    plt.legend(['편향치 없다.'],['편향치 있다.'], loc=4) #loc로 범례 위치 지정
    plt.show()

    ヒストグラム連続棒グラフ
    # ex) 표준 정규 분포(기대값 = 0, 표준편차 = 1)
    x = np.random.randn(10000)
    
    plt.hist(x,bins= 1000, color='blue')
    plt.title('표준 정규 분포') #bins = 1000으로 세분화
    plt.show()
    

    棒グラフ:不連続データを描画するための棒グラフ(信号図)
    x = ['신호1','신호2','신호3','신호4','신호5']
    y = [0.1100, 0.1213, 0.0612, 0.0901,0.1131]
    
    # 세로 막대 그래프 width 값으로 폭을 조정
    # plt.bar(x,y,width= 0.8)
    
    # 가로 막대 그래프
    plt.barh(x,y)
    
    plt.title('신호기 오차 비교',fontsize=16)
    plt.show()
    
    #가로 일때는 x와 y가 뒤바뀐다.
    from pathlib import Path
    data_path = Path('/content/gdrive/My Drive/test')
    
    #파일 경로
    # file_path  = Path('경로')
    
    x =['신호1','신호2','신호3','신호4','신호5' ]
    y = [0.1100, 0.1213, 0.0612, 0.0901, 0.1131]
    int_y = np.multiply(y, 10000)
    
    
    plt.pie(int_y, labels=x, autopct='%.1f%%', explode = (0, 0.0, 0.2, 0, 0)) 
    plt.title("신호오차비율" , fontsize=20)
    # plt.savefig("경로.png", dpi  =600)
    plt.show()

    白黒変換pyplot.imshow()による白黒変換
    #이미지를 로드할 때 3차원 ndarray로 변환되어 리턴한다.
    
    img_res = plt.imread('경로 ') #이미지 읽기
    # plt.imshow(img_res)
    
    #axis로 2개의 축을 지정한다. 지정된 축에 맞게 평균을 구한다.
    plt.imshow(img_res.mean(axis=2))
    #축 숨기기
    plt.xticks([]) #리스트를 비워둔다.
    plt.yticks([])
    
    #plt.show()
    plt.savefig("경로", dpi  =600)

    白黒変換opencvによる白黒変換
    import cv2
    cv2_res = cv2.imread('경로',cv2.IMREAD_GRAYSCALE)
    plt.imshow(cv2_res)
    #축 숨기기
    plt.xticks([]) #리스트를 비워둔다.
    plt.yticks([])
    
    plt.show()