Plotly Express Strip图时间轴x轴颜色分层失效问题求助
解决Plotly Express Strip图时间轴下状态点不分层的问题
当用Plotly Express绘制Strip图,把时间类型数据设为x轴、status设为颜色参数时,同一group下不同状态的点会重叠在同一y层,但用整数索引做x轴时却能正常分层。这是因为px.strip默认采用stripmode="overlay"模式,会让同一y类别下的不同颜色组重叠显示;而x轴为离散型数据时,Plotly会自动调整显示逻辑,但连续型的时间轴不会触发这个自动调整。
只需在绘图时添加stripmode="group"参数,就能让时间轴下的不同状态点在y轴分层展示:
import pandas as pd import plotly.express as px import random random.seed(0) n = 100 df = pd.DataFrame( data=dict( group=random.choices(["A","B","C"], k=n), status=random.choices(["on", "off"], k=n), time=pd.date_range('2/5/2019', periods = n, freq ='2H'), ) ) # 修改后的绘图代码,添加stripmode参数 fig = px.strip(df, x="time", y="group", color="status", stripmode="group") fig.show()
这个参数会让同一group下的on和off状态点在y轴方向上分开排列,效果和使用整数索引作为x轴时一致。
内容的提问来源于stack exchange,提问作者LogZ
相关产品推荐
相关产品推荐

