<small id='JlrhT'></small><noframes id='JlrhT'>

  • <tfoot id='JlrhT'></tfoot>
  • <i id='JlrhT'><tr id='JlrhT'><dt id='JlrhT'><q id='JlrhT'><span id='JlrhT'><b id='JlrhT'><form id='JlrhT'><ins id='JlrhT'></ins><ul id='JlrhT'></ul><sub id='JlrhT'></sub></form><legend id='JlrhT'></legend><bdo id='JlrhT'><pre id='JlrhT'><center id='JlrhT'></center></pre></bdo></b><th id='JlrhT'></th></span></q></dt></tr></i><div id='JlrhT'><tfoot id='JlrhT'></tfoot><dl id='JlrhT'><fieldset id='JlrhT'></fieldset></dl></div>

      • <bdo id='JlrhT'></bdo><ul id='JlrhT'></ul>

      1. <legend id='JlrhT'><style id='JlrhT'><dir id='JlrhT'><q id='JlrhT'></q></dir></style></legend>

        如何使用海运dislot/histlot/dislot绘制百分比

        时间:2024-08-20
        <i id='LKZDQ'><tr id='LKZDQ'><dt id='LKZDQ'><q id='LKZDQ'><span id='LKZDQ'><b id='LKZDQ'><form id='LKZDQ'><ins id='LKZDQ'></ins><ul id='LKZDQ'></ul><sub id='LKZDQ'></sub></form><legend id='LKZDQ'></legend><bdo id='LKZDQ'><pre id='LKZDQ'><center id='LKZDQ'></center></pre></bdo></b><th id='LKZDQ'></th></span></q></dt></tr></i><div id='LKZDQ'><tfoot id='LKZDQ'></tfoot><dl id='LKZDQ'><fieldset id='LKZDQ'></fieldset></dl></div>
          <tbody id='LKZDQ'></tbody>

          <small id='LKZDQ'></small><noframes id='LKZDQ'>

            <legend id='LKZDQ'><style id='LKZDQ'><dir id='LKZDQ'><q id='LKZDQ'></q></dir></style></legend>

              <bdo id='LKZDQ'></bdo><ul id='LKZDQ'></ul>
                  <tfoot id='LKZDQ'></tfoot>
                  本文介绍了如何使用海运dislot/histlot/dislot绘制百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  有没有办法在dislot上绘制百分比而不是计数?

                  ax = sns.FacetGrid(telcom, hue='Churn', palette=["teal", "crimson"], size=5, aspect=1)
                  ax = ax.map(sns.distplot, "tenure",  hist=True, kde=False)
                  ax.fig.suptitle('Tenure distribution in customer churn', y=1, fontsize=16, fontweight='bold');
                  plt.legend();
                  

                  推荐答案

                  • 截至seaborn 0.11.2
                    • seaborn.distplot替换为图形级别seaborn.displot和轴级seaborn.histplot,它们有一个stat参数。使用stat='percent'
                  • 对于这两种类型的绘图,请使用common_binscommon_norm进行试验。
                    • 例如,common_norm=True将显示百分比作为整个人口的一部分,而False将显示相对于组的百分比。
                  • 此answer中显示的实现说明如何添加批注。
                  import seaborn as sns
                  import matplotlib.pyplot as ply
                  
                  # data
                  data = sns.load_dataset('titanic')
                  

                  图形级别

                  p = sns.displot(data=data, x='age', stat='percent', hue='sex', height=3)
                  plt.show()
                  

                  p = sns.displot(data=data, x='age', stat='percent', col='sex', height=3)
                  plt.show()
                  

                  • labels中使用的类型批注(:=)需要python >= 3.8。可以使用for-loop实现,而不使用:=
                  fg = sns.displot(data=data, x='age', stat='percent', col='sex', height=3.5, aspect=1.25)
                  
                  for ax in fg.axes.ravel():
                      
                      # add annotations
                      for c in ax.containers:
                  
                          # custom label calculates percent and add an empty string so 0 value bars don't have a number
                          labels = [f'{w:0.1f}%' if (w := v.get_height()) > 0 else '' for v in c]
                  
                          ax.bar_label(c, labels=labels, label_type='edge', fontsize=8, rotation=90, padding=2)
                      
                      ax.margins(y=0.2)
                  
                  plt.show()
                  

                  轴级别

                  fig = plt.figure(figsize=(4, 3))
                  p = sns.histplot(data=data, x='age', stat='percent', hue='sex')
                  plt.show()
                  

                  按组列出的百分比

                  • 使用common_norm=参数
                  • 参见seaborn histplot and displot output doesn't match
                  p = sns.displot(data=data, x='age', stat='percent', hue='sex', height=4, common_norm=False)
                  

                  p = sns.displot(data=data, x='age', stat='percent', col='sex', height=4, common_norm=False)
                  

                  fig = plt.figure(figsize=(5, 4))
                  p = sns.histplot(data=data, x='age', stat='percent', hue='sex', common_norm=False)
                  plt.show()
                  

                  这篇关于如何使用海运dislot/histlot/dislot绘制百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:绘制直方图,使总高度等于1 下一篇:人口金字塔,包括巨蟒和海上金字塔

                  相关文章

                    • <bdo id='PXFIi'></bdo><ul id='PXFIi'></ul>
                    1. <i id='PXFIi'><tr id='PXFIi'><dt id='PXFIi'><q id='PXFIi'><span id='PXFIi'><b id='PXFIi'><form id='PXFIi'><ins id='PXFIi'></ins><ul id='PXFIi'></ul><sub id='PXFIi'></sub></form><legend id='PXFIi'></legend><bdo id='PXFIi'><pre id='PXFIi'><center id='PXFIi'></center></pre></bdo></b><th id='PXFIi'></th></span></q></dt></tr></i><div id='PXFIi'><tfoot id='PXFIi'></tfoot><dl id='PXFIi'><fieldset id='PXFIi'></fieldset></dl></div>

                      <small id='PXFIi'></small><noframes id='PXFIi'>

                    2. <legend id='PXFIi'><style id='PXFIi'><dir id='PXFIi'><q id='PXFIi'></q></dir></style></legend>
                    3. <tfoot id='PXFIi'></tfoot>