Python 有没有一种方法可以在不使用distplot的情况下以plotly(缩放到y轴而不进行规格化)绘制高斯曲线?

Python 有没有一种方法可以在不使用distplot的情况下以plotly(缩放到y轴而不进行规格化)绘制高斯曲线?,python,plotly,plotly-python,Python,Plotly,Plotly Python,我一直在尝试绘制一个符合高斯分布的直方图,即平均值和1西格玛标准偏差误差。使用ff.create_distplot不允许我们选择所需的y轴范围,它会自动将其规格化。我曾尝试使用matplotlib版本的东西,并尝试使其在plotly上工作,但没有任何效果。 我的代码如下。 任何帮助都将不胜感激。多谢各位 从图像中,您可以看到高斯分布已归一化。如何将其缩放到y轴? GX= pd.read_csv(r'X.....X. csv') df = pd.DataFrame(GX, columns =

我一直在尝试绘制一个符合高斯分布的直方图,即平均值和1西格玛标准偏差误差。使用ff.create_distplot不允许我们选择所需的y轴范围,它会自动将其规格化。我曾尝试使用matplotlib版本的东西,并尝试使其在plotly上工作,但没有任何效果。 我的代码如下。 任何帮助都将不胜感激。多谢各位

从图像中,您可以看到高斯分布已归一化。如何将其缩放到y轴?

GX= pd.read_csv(r'X.....X.


csv')
df = pd.DataFrame(GX, columns = ['ra','dec','rest','b_rest','B_rest','pmra','pmra_error','pmdec','pmdec_error','PM'])
ra = df['ra'].tolist()
dec = df['dec'].tolist()
rest = df['rest'].tolist()
b_rest = df['b_rest'].tolist()
B_rest = df['B_rest'].tolist()
pmra = df['pmra'].tolist()
pmra_E = df['pmra_error'].tolist()
pmdec = df['pmdec'].tolist()
pmdec_E = df['pmdec_error'].tolist()
PM = df['PM'].tolist() 
PM1 = []
c = 0
for i in range(len(PM)):
    if (PM[i]<100 and pmra[i]>-4.5 and pmra[i]<1.5 and pmdec[i]>1 and pmdec[i]<3):
        PM1.append(PM[i])
        c+=1
group_labels = ['Proper Motion']
color = ['#636EFA', '#EF553B', '#00CC96', '#AB63FA', '#FFA15A', '#19D3F3', '#FF6692', '#B6E880', '#FF97FF', '#FECB52']    
fig = go.Figure()
fig.add_trace(
    go.Histogram(
        x = PM1
    )
)
mean = np.mean(PM1)
variance = np.var(PM1)
sigma = np.sqrt(PM1)
fig.add_trace(
    go.Scatter(
        name = 'Gaussian',
        mode = 'lines',
        x = PM1,
        y = mlab.normpdf(PM1, mean, sigma)
    )
)
#Line Plot for mean
mean = np.mean(PM1)
stdev_pluss = mean + np.std(PM1)
stdev_minus = mean - np.std(PM1)
median = np.median(PM1)
fig.add_trace(
    go.Scatter(
        name = 'Mean',
        x=[2.769491040712437]*1000,
        y = np.linspace(0,105,num = 1000),
        mode="lines",
        marker=dict(
            size=2,
            line=dict(
                color = 'rgb(128,177,211)',
                width=1
            )
        )
    )
)
#Line Plot for Median
fig.add_trace(
    go.Scatter(
        name = 'Median',
        x=[2.800431666]*1000,
        y = np.linspace(0,105,num = 1000),
        mode="lines",
        marker=dict(
            size=2,
            line=dict(
                color = 'rgb(128,177,211)',
                width=1
            )
        )
    )
)
#Plotting Standard Deviation Lines
fig.add_trace(
    go.Scatter(
        name = 'Stdev-',
        x=[(stdev_minus)]*1000,
        y = np.linspace(0,105,num = 1000),
        mode="lines",
        marker=dict(
            size=2,
            line=dict(
                color = 'rgb(128,177,211)',
                width=1
            )
        )
    )
)
fig.add_trace(
    go.Scatter(
        name = 'Stdev+',
        x=[(stdev_pluss)]*1000,
        y = np.linspace(0,105,num = 1000),
        mode="lines",
        marker=dict(
            size=2,
            line=dict(
                color = 'rgb(128,177,211)',
                width=1
            )
        )
    )
)


fig.update_layout(
    title = 'Proper Motion Histogram + Gaussian distribution ',
    xaxis = dict(
        title='Proper Motion'
    ),
    yaxis = dict(
        title='Count'
    ),
    template = 'plotly_dark',
    showlegend = True
)
fig.show()
print('Mean :{}\nMedian: {}\nStandard Deviation: {}'.format(mean,median,stdev))
GX=pd.read\u csv(r'X…..X。
csv')
df=pd.DataFrame(GX,列=['ra'、'dec'、'rest'、'b_rest'、'b_rest'、'pmra'、'pmra_error'、'pmdec'、'pmdec_error'、'PM'])
ra=df['ra'].tolist()
dec=df['dec'].tolist()
rest=df['rest'].tolist()
b_rest=df['b_rest'].tolist()
B_rest=df['B_rest'].tolist()
pmra=df['pmra'].tolist()
pmra_E=df['pmra_error'].tolist()
pmdec=df['pmdec'].tolist()
pmdec_E=df['pmdec_error'].tolist()
PM=df['PM'].tolist()
PM1=[]
c=0
对于范围内的i(len(PM)):

if(PM[i]-4.5和pmra[i]1和pmdec[i]那么,你想在y轴上显示什么?带有高斯分布的直方图,以及标准偏差和平均值。是的,我理解。但是你想在y轴上显示什么?我的数据计数。这里,我试图显示给定的固有运动值范围内的恒星数。我想这就是你要问的。Otherwise,我不明白这个问题。是的,这就是我要问的。那么,你想在y轴上显示什么?带有高斯分布的直方图以及标准偏差和平均值。是的,我明白。但是你想在y轴上显示什么?我的数据计数。在这里,我试图显示giv中的恒星数量我想这就是你要问的。否则,我不理解这个问题。是的,这就是我要问的。