作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要用 plotly
绘制大量的线段.与所有点都可以连接的常规散点图相反,这里我只需要两两连接点。
我考虑了不同的选择:
最佳答案
此答案基于 Maximilian Peters 评论中的建议,以及 Jezraels 对 insert a new row after every nth row 的处理方法。 .
一个关键部分还包括fig.update_traces(connectgaps=False)
剧情:
完整代码:
import numpy as np
import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
# dataframe, sample
np.random.seed(123)
cols = ['a','b','c', 'd', 'e', 'f', 'g']
X = np.random.randn(50,len(cols))
df=pd.DataFrame(X, columns=cols)
df=df.cumsum()
df['id']=df.index
# dataframe with every nth row containing np.nan
df2 = (df.iloc[1::2]
.assign(id = lambda x: x['id'] + 1, c = np.nan)
.rename(lambda x: x + .5))
df1 = pd.concat([df, df2], sort=False).sort_index().reset_index(drop=True)
df1.loc[df1.isnull().any(axis=1), :] = np.nan
df1
# plotly figure
colors = px.colors.qualitative.Plotly
fig = go.Figure()
for i, col in enumerate(df1.columns[:-1]):
fig.add_traces(go.Scatter(x=df1.index, y=df1[col],
mode='lines+markers', line=dict(color=colors[i])))
fig.update_traces(connectgaps=False)
fig.show()
关于python - 如何有效地绘制大量线形,其中点两两相连?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723792/
我是一名优秀的程序员,十分优秀!