gpt4 book ai didi

python - Plotly:如何为 create_displot 图添加均值和标准差?

转载 作者:行者123 更新时间:2023-12-04 08:55:35 25 4
gpt4 key购买 nike

我正在尝试更改此处使用 create_distplot 函数绘制的直方图和正态分布曲线。我找不到任何可以让我向该图添加更多痕迹的东西。有没有其他方法可以使用任何其他 plotly 函数实现相同的结果?

GAIA = pd.read_csv(r'C:\Users\Admin\Desktop\New folder\6 SEM Python\WORK\Astrometry\DistancePM.csv')
df = pd.DataFrame(GAIA, 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
#Here we are onlly taking the range from tehabove contour plot where there is a
#clustering of data points x = [-4.5, 1.5] and y = [3, 1]
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 = ff.create_distplot(
[PM1],
group_labels,
bin_size = 0.05,
curve_type='normal',
colors = color
)
fig.update_layout(
title = 'Proper Motion Histogram + Gaussian distribution ',
xaxis = dict(
title='Proper Motion'
),
yaxis = dict(
title='Density'
),
template = 'plotly_dark',
showlegend = True
)
fig.show()
print(c)[![enter image description here][1]][1]


[1]: /image/lOBvY.png

This is how the figure looks like

最佳答案

您尚未指定如何显示您添加的数据,因此我只能假设这就是您要查找的内容:

enter image description here

如果是这种情况,您可以使用 np.mean() 计算您的度量,并使用以下方法将其添加到图中:

fig.add_shape(type="line",x0=mean, x1=mean, y0 =0, y1=0.4 , xref='x', yref='y',
line = dict(color = 'blue', dash = 'dash'))

这是一个完整的代码片段,也有 +/- 一个标准差:

import plotly.figure_factory as ff
import numpy as np
np.random.seed(1)

x = np.random.randn(1000)
hist_data = [x]
group_labels = ['distplot'] # name of the dataset

mean = np.mean(x)
stdev_pluss = np.std(x)
stdev_minus = np.std(x)*-1

fig = ff.create_distplot(hist_data, group_labels)
fig.add_shape(type="line",x0=mean, x1=mean, y0 =0, y1=0.4 , xref='x', yref='y',
line = dict(color = 'blue', dash = 'dash'))
fig.add_shape(type="line",x0=stdev_pluss, x1=stdev_pluss, y0 =0, y1=0.4 , xref='x', yref='y',
line = dict(color = 'red', dash = 'dash'))
fig.add_shape(type="line",x0=stdev_minus, x1=stdev_minus, y0 =0, y1=0.4 , xref='x', yref='y',
line = dict(color = 'red', dash = 'dash'))
fig.show()

关于python - Plotly:如何为 create_displot 图添加均值和标准差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63847534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com