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

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

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

      如何在海上平面图上绘制法线

      时间:2024-08-20

        <legend id='TlIir'><style id='TlIir'><dir id='TlIir'><q id='TlIir'></q></dir></style></legend>
      • <small id='TlIir'></small><noframes id='TlIir'>

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

                <tbody id='TlIir'></tbody>

                <bdo id='TlIir'></bdo><ul id='TlIir'></ul>
                本文介绍了如何在海上平面图上绘制法线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                DISPLOT受到抨击,转而支持DISPLATE。

                上一个函数具有绘制正常曲线的选项。

                import seaborn as sns
                import matplotlib.pyplot as plt
                from scipy import stats
                
                ax = sns.distplot(df.extracted, bins=40, kde=False, fit=stats.norm)
                

                fit=stats.norm不再与dislot一起使用。在这个question的答案中,我看到了稍后绘制正态分布的方法,但是它是在一些平均在0左右的随机数据上完成的。

                推荐答案

                • seaborn.displot图形级别绘图,其中kind参数指定方法。当kind='hist'seaborn.histplot的参数可用时。
                  • 有关轴级曲线图,请参阅How to add a standard normal pdf over a seaborn histogram
                • seaborn.axisgrid.FacetGrid.map需要DataFrame列名,因此,要将pdf映射到seaborn.displot,数据需要在DataFrame中。
                • 问题是x_pdf计算每个axes
                  • x0, x1 = p1.axes[0][0].get_xlim()
                  • 如果多个方面(sharex=False)的axes不同,则无法获取.map内每个axesxlim
                • 引用:
                  • seaborn histplot and displot output doesn't match
                  • Building structured multi-plot grids
                • 测试于python 3.8.11pandas 1.3.2matplotlib 3.4.2seaborn 0.11.2

                单面

                • .map可以使用
                import pandas as pd
                import seaborn as sns
                import numpy as np
                import scipy
                
                # data
                np.random.seed(365)
                x1 = np.random.normal(10, 3.4, size=1000)  # mean of 10
                df = pd.DataFrame({'x1': x1})
                
                # display(df.head(3))
                          x1
                0  10.570932
                1  11.779918
                2  12.779077
                
                # function for mapping the pdf
                def map_pdf(x, **kwargs):
                    mu, std = scipy.stats.norm.fit(x)
                    x0, x1 = p1.axes[0][0].get_xlim()  # axes for p1 is required to determine x_pdf
                    x_pdf = np.linspace(x0, x1, 100)
                    y_pdf = scipy.stats.norm.pdf(x_pdf, mu, std)
                    plt.plot(x_pdf, y_pdf, c='r')
                
                
                p1 = sns.displot(data=df, x='x1', kind='hist', bins=40, stat='density')
                p1.map(map_pdf, 'x1')
                

                单面或多面

                • 更容易遍历每个轴并添加pdf
                # data
                np.random.seed(365)
                x1 = np.random.normal(10, 3.4, size=1000)  # mean of 10
                x2 = np.random.standard_normal(1000)  # mean of 0
                df = pd.DataFrame({'x1': x1, 'x2': x2}).melt()  # create long dataframe
                
                # display(df.head(3))
                  variable      value
                0       x1  10.570932
                1       x1  11.779918
                2       x1  12.779077
                
                p1 = sns.displot(data=df, x='value', col='variable', kind='hist', bins=40, stat='density', common_bins=False,
                                 common_norm=False, facet_kws={'sharey': True, 'sharex': False})
                
                # extract and flatten the axes from the figure
                axes = p1.axes.ravel()
                
                # iterate through each axes
                for ax in axes:
                    # extract the variable name
                    var = ax.get_title().split(' = ')[1]
                    
                    # select the data for the variable
                    data = df[df.variable.eq(var)]
                    
                    mu, std = scipy.stats.norm.fit(data['value'])
                    x0, x1 = ax.get_xlim()
                    x_pdf = np.linspace(x0, x1, 100)
                    y_pdf = scipy.stats.norm.pdf(x_pdf, mu, std)
                    ax.plot(x_pdf, y_pdf, c='r')
                

                这篇关于如何在海上平面图上绘制法线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:如何在海运猫图中旋转xtick标签 下一篇:如何在ECDF绘图中使用标记

                相关文章

                • <bdo id='eVT1c'></bdo><ul id='eVT1c'></ul>
                <legend id='eVT1c'><style id='eVT1c'><dir id='eVT1c'><q id='eVT1c'></q></dir></style></legend>

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

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