首页 > 解决方案 > 如何在我的 3d 散点图上添加一条线到原点 - 在 plotly express 中?

问题描述

我想从我使用 plotly express 制作的 3D 散点图的所有点向原点 (0,0,0) 添加一条线。

这是我的代码(dfrng 是我的熊猫数据框):

if summary_var >= 2:
    figrng = px.scatter(x=dfrng.iloc[:, -1], y=dfrng.iloc[:, -2],
                        hover_name=dfrng.iloc[:, 0],
                        labels={
                            "x": dfrng.columns[-1] + " (kcal/mol)",
                            "y": dfrng.columns[-2] + " (kcal/mol)"
                        })
if summary_var >= 3:
    figrng = px.scatter_3d(x=dfrng.iloc[:, -1], y=dfrng.iloc[:, -2], z=dfrng.iloc[:, -3],
                           hover_name=dfrng.iloc[:, 0],
                           hover_data=[dfrng.loc[:, lm_col_name], dfrng.loc[:, ms_col_name]],
                           labels={
                               "x": dfrng.columns[-1] + " (kcal/mol)",
                               "y": dfrng.columns[-2] + " (kcal/mol)",
                               "z": dfrng.columns[-3] + " (kcal/mol)"
                           })
if summary_var >= 4:
    figrng = px.scatter_3d(x=dfrng.iloc[:, -1], y=dfrng.iloc[:, -2], z=dfrng.iloc[:, -3],
                           color=dfrng.iloc[:, -4],
                           hover_name=dfrng.iloc[:, 0],
                           hover_data=[dfrng.iloc[:, -5], dfrng.iloc[:, -6]],
                           labels={
                               "x": dfrng.columns[-1] + " (kcal/mol)",
                               "y": dfrng.columns[-2] + " (kcal/mol)",
                               "z": dfrng.columns[-3] + " (kcal/mol)",
                               "color": dfrng.columns[-4] + " (kcal/mol)"
                           })
if summary_var >= 5:
    figrng = px.scatter_3d(x=dfrng.iloc[:, -1], y=dfrng.iloc[:, -2], z=dfrng.iloc[:, -3],
                           color=dfrng.iloc[:, -4],
                           size=dfrng.iloc[:, -5],
                           hover_name=dfrng.iloc[:, 0],
                           labels={
                               "x": dfrng.columns[-1] + " (kcal/mol)",
                               "y": dfrng.columns[-2] + " (kcal/mol)",
                               "z": dfrng.columns[-3] + " (kcal/mol)",
                               "color": dfrng.columns[-4] + " (kcal/mol)",
                               "size": dfrng.columns[-5] + " (kcal/mol)"
                           })


figrng.write_html(new_folder + "Aspect_Range.html")

这是我当前的情节: 3d scatter plot

请帮助我,让我知道将这样的线添加到每个点的最佳方法是什么。即使它在 matplotlib 中也可以,可以转移过来,但是情节图的交互性质对分析我的数据非常有帮助。

谢谢!

标签: pythonplotplotly-pythonplotly-express

解决方案


推荐阅读