Plotly如何仅为单个分组创建散点图或折线图
解决Plotly仅绘制单个分组数据的问题
你可以通过两种方式实现仅展示orange类别的散点图:
方法1:先筛选DataFrame数据
直接在传入Plotly之前,从原DataFrame中过滤出fruit列为orange的行,再绘制图表,这是最简洁高效的方式:
filtered_df = df[df['fruit'] == 'orange'] px.scatter(filtered_df, x='lb', y='price')
方法2:通过Plotly参数控制显示(可选)
如果需要保留全量数据但仅展示指定类别,可以结合color参数和透明色隐藏其他类别:
px.scatter(df, x='lb', y='price', color='fruit', color_discrete_map={'apple': 'rgba(0,0,0,0)', 'kiwi': 'rgba(0,0,0,0)', 'orange': '#1f77b4'})
注意:这种方式本质上仍加载了全量数据,只是隐藏了其他类别的点,不如第一种方法轻量化。
另外,你的原始代码中x=df.lb可以简化为x='lb',Plotly Express会自动识别DataFrame的列名,写法更规范。
内容的提问来源于stack exchange,提问作者Danny
相关产品推荐
相关产品推荐

