如何在Plotly平行类别图中移除第三维度指定类别及对应连线
解决方案:移除平行分类图中的指定类别及对应连线
核心思路是直接过滤数据源,剔除包含Mortality="No"的记录——因为Plotly平行分类图的类别和连线完全基于数据行生成,过滤后不需要的类别和对应连线会自动消失,这是最直接有效的方法。
具体步骤
过滤数据框
先对绘图用的final_df进行筛选,只保留Mortality为Yes的行:final_df = final_df[final_df["Mortality"] == "Yes"]重新生成平行分类图
用过滤后的数据集执行原绘图代码即可,此时第三维度只会显示Yes类别,且不会存在与No相关的连线:import plotly.graph_objects as go fig = go.Figure( go.Parcats( dimensions=[ {"label": options["procedure"], "values": final_df["Isolated"]}, {"label": "", "values": final_df["Combined"]}, {"label": "Mortality", "values": final_df["Mortality"]}, ], counts=final_df["count"], line={"shape": "hspline", "color": final_df["color"]}, arrangement="freeform", ) ) fig.show()
为什么之前的方法无效
- 将
No对应颜色设为白色:平行分类图的连线是贯穿所有维度的整体,修改颜色会让整条连线变白,无法单独隐藏第二到第三维度的部分。 - 设
count为0:即使计数为0,Plotly仍会保留对应的类别条目,只是连线不可见,达不到移除类目的效果。
内容的提问来源于stack exchange,提问作者Nemra Khalil
相关产品推荐
相关产品推荐

