python-matplotlib(円グラフ)

12207 ワード

前言
                    ,         ,                     ,           。         matplotlib   pie  ,                。


pie関数パラメータ解読
plt.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False)
  • x:図面のデータを指定します.
  • explode:円グラフの一部のハイライト、すなわち爆発式を示すことを指定します.
  • labels:図例の説明と同様に、円グラフにラベルの説明を追加します.
  • colors:円グラフの塗りつぶし色を指定します.
  • autopct:パーセンテージ表示を自動的に追加し、フォーマットされた方法で表示できます.
  • pctdistance:パーセントラベルと中心の距離を設定します.
  • shadow:クッキーのシャドウ効果を追加するかどうか;
  • labeldistance:各セクタラベル(図例)と円心との距離を設定します.
  • startangle:円グラフの初期配置角度を設定します.
  • radius:円グラフの半径の大きさを設定します.
  • counterclock:円グラフを反時計回りに表示するかどうか.
  • wedgeprops:境界線の太さ、色など、円グラフの内外の境界の属性を設定します.
  • textprops:フォントサイズ、色など、円グラフ内のテキストの属性を設定します.
  • center:円グラフの中心点の位置を指定します.デフォルトは原点
  • です.
  • frame:円グラフの背後にあるフレームを表示するかどうか、Trueに設定すると、フレームx軸、y軸の範囲と円グラフの中心位置を同時に制御する必要があります.

  • 円グラフの描画
    ケース:ゴマ信用喪失ユーザー分析
         pie            ,       ,         ,           。      ,         300            ,     ,         ,    25.15%,    37.24%,    33.36%,    3.68%,         0.57%。        ,             ?

    In [1]:
    #        
    import matplotlib.pyplot as plt
    
    #          (    R  ggplot  )
    plt.style.use('ggplot')
    
    #     
    edu = [0.2515,0.3724,0.3336,0.0368,0.0057]
    labels = ['  ','  ','  ','  ','  ']
    
    explode = [0,0.1,0,0,0]  #             
    colors=['#9999ff','#ff9999','#7777aa','#2442aa','#dd5555'] #      
    
    #              
    plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
    plt.rcParams['axes.unicode_minus'] = False
    
    #   、         ,         ,     
    plt.axes(aspect='equal')
    
    #   x  y    
    plt.xlim(0,4)
    plt.ylim(0,4)
    
    #     
    plt.pie(x = edu, #     
            explode=explode, #         
            labels=labels, #         
            colors=colors, #            
            autopct='%.1f%%', #         ,        
            pctdistance=0.8,  #              
            labeldistance = 1.15, #               
            startangle = 180, #          
            radius = 1.5, #        
            counterclock = False, #      ,          
            wedgeprops = {'linewidth': 1.5, 'edgecolor':'green'},#             
            textprops = {'fontsize':12, 'color':'k'}, #           
            center = (1.8,1.8), #        
            frame = 1 )#          ,      
    
    #   x  y    
    plt.xticks(())
    plt.yticks(())
    #      
    plt.title('              ')
    
    #     
    plt.show()