<legend id='7MHiJ'><style id='7MHiJ'><dir id='7MHiJ'><q id='7MHiJ'></q></dir></style></legend>
<tfoot id='7MHiJ'></tfoot>

      <bdo id='7MHiJ'></bdo><ul id='7MHiJ'></ul>

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

      <small id='7MHiJ'></small><noframes id='7MHiJ'>

      海运HISPLOT和DISPLOT输出不匹配

      seaborn histplot and displot output doesn#39;t match(海运HISPLOT和DISPLOT输出不匹配)

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

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

              2. 本文介绍了海运HISPLOT和DISPLOT输出不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                • seaborn.histplotseaborn.displot生成的直方图不匹配。
                  • sns.displot的默认绘图为kind='hist'
                • 使用python3.8.11seaborn 0.11.2matplotlib 3.4.2
                • 测试
                • 为什么输出不匹配,如何解决此问题?
                • 期望是,给定bins,相应曲线图的density应该匹配。
                  • bins传递给numpy.histogram_bin_edges
                • Visualizing distributions of data中包含的信息不能解决问题。
                import seaborn as sns
                import matplotlib.pyplot as plt
                
                # sample data: wide
                dfw = sns.load_dataset("penguins", cache=False)[['bill_length_mm', 'bill_depth_mm']].dropna()
                
                # sample data: long
                dfl = dfw.melt(var_name='bill_size', value_name='vals')
                

                seaborn.displot

                1. 忽略'sharex': False,但'sharey'工作
                2. 忽略bins
                fg = sns.displot(data=dfl, x='vals', col='bill_size', kde=True, stat='density', bins=12, height=4, facet_kws={'sharey': False, 'sharex': False})
                plt.show()
                

                1. 设置xlim没有影响
                fg = sns.displot(data=dfl, x='vals', col='bill_size', kde=True, stat='density', bins=12, height=4, facet_kws={'sharey': False, 'sharex': False})
                axes = fg.axes.ravel()
                axes[0].set_xlim(25, 65)
                axes[1].set_xlim(13, 26)
                plt.show()
                

                seaborn.histplot

                fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4))
                
                sns.histplot(data=dfw.bill_length_mm, kde=True, stat='density', bins=12, ax=ax1)
                sns.histplot(data=dfw.bill_depth_mm, kde=True, stat='density', bins=12, ax=ax2)
                fig.tight_layout()
                plt.show()
                

                更新

                • 按照mwaskom的建议,common_bins=False使直方图形状一致,解决了忽略binssharex的问题。但是,density似乎受到displot中绘图数量的影响。
                  • 如果displot中有3个地块,则密度为histplot中的1/3;2个地块,密度为1/2。

                推荐答案

                • 按照mwaskom在评论中的建议,common_bins=False将直方图调整为相同的形状,解决了忽略binssharex的问题,并且分面图中的density是根据每个分面中的数据点的数量而不是分面的数量进行缩放的。
                • densitydisplot中的绘图数量拆分的问题通过使用common_norm=False
                • 解决

                打印代码

                # displot
                fg = sns.displot(data=dfl, x='vals', col='bill_size', kde=True, stat='density', bins=12, height=4,
                                 facet_kws={'sharey': False, 'sharex': False}, common_bins=False, common_norm=False)
                
                fg.fig.subplots_adjust(top=0.85)
                fg.fig.suptitle('Displot with common_bins & common_norm as False')
                plt.show()
                
                # histplot
                fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4))
                
                sns.histplot(data=dfw.bill_length_mm, kde=True, stat='density', bins=12, ax=ax1)
                sns.histplot(data=dfw.bill_depth_mm, kde=True, stat='density', bins=12, ax=ax2)
                
                fig.subplots_adjust(top=0.85)
                fig.suptitle('Histplot')
                
                fig.tight_layout()
                plt.show()
                

                这篇关于海运HISPLOT和DISPLOT输出不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
                Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
                passing parameters in groupby aggregate function(在GROUPBY集合函数中传递参数)
                How do I group date by month using pd.Grouper?(如何使用pd.Grouper按月对日期进行分组?)
                Generate a sequence by appending values without clash in other values(通过在不与其他值冲突的情况下追加值来生成序列)
                pandas group by and convert rows into multiple columns( pandas 分组并将行转换为多列)
              3. <small id='Ir85D'></small><noframes id='Ir85D'>

                    <bdo id='Ir85D'></bdo><ul id='Ir85D'></ul>

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

                          <legend id='Ir85D'><style id='Ir85D'><dir id='Ir85D'><q id='Ir85D'></q></dir></style></legend>
                          <tfoot id='Ir85D'></tfoot>