gpt4 book ai didi

python - 如何用plotly绘制线的密度

转载 作者:行者123 更新时间:2023-12-01 00:23:22 29 4
gpt4 key购买 nike

假设我有一组线(y 与 x),它们是随机过程的结果。

我正在寻找显示线条分布的可视化效果。

具体来说,我希望得到一个例如透明度分级填充区域,其中不透明度对应于该点直方图的高度。

有点像plotly "Filled Lines" example ,除了我不是在寻找填充区域的硬边框,而是使用透明度逐渐逐步淘汰。

this blog 上显示了一个与我希望实现的类似的示例。 : enter image description here

我想在同一个图上用不同的颜色绘制不同的线组(例如不同的实验条件),以直观地比较它们的结果。

最佳答案

由于您特别要求Plotly,因此一种方法可能是使用单独的线条和一定的不透明度直观地表示随机过程的所有结果。

plotly :

enter image description here

代码:

# imports
from plotly.subplots import make_subplots
import plotly.graph_objs as go
import pandas as pd
import numpy as np

# random data
np.random.seed(123)
frame_rows = 50
frame_cols = 500
frame_columns = ['V_'+str(e) for e in list(range(frame_cols+1))]
df=pd.DataFrame()

for col in frame_columns:
df[col]=np.sin(np.arange(0,frame_rows/10, 0.1)*np.random.uniform(low=0.85, high=0.99))

# plotly figure
fig=go.Figure()
for i in range(1, frame_cols):
#print(str(i))
fig.add_trace(go.Scatter(x=df.index,
y=df[df.columns[i]].values,
showlegend=False, # hides trace name from legend
hoverinfo='skip', # turns off hoverinfo
name = None,
mode = 'lines',
line_color='black',
opacity = 0.008
)
)

# add mean of all rows to the plot
df_mean=df.mean(axis=1).to_frame()
df_mean.columns=['mean']
# show mean
fig.add_trace(go.Scatter(x=df_mean.index, y=df_mean['mean'].values,
name='mean lines',
line_color='red',
line=dict(width=2),
mode='lines')
)

fig.show()

关于python - 如何用plotly绘制线的密度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58803548/

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