如何从Pandas数据帧绘制交互式3d散点图?

2024-06-16 08:24:32 发布

您现在位置:Python中文网/ 问答频道 /正文

Pandas为DataFrame提供了内置的绘图功能,带有多个绘图后端引擎(matplotlib,等等)。我想通过df.plot()直接从数据帧绘制交互式3D散点图,但只绘制非交互式图。我在想我得到的东西,例如^{}。我更喜欢独立于探索性数据分析IDE设置依赖项的解决方案(例如,使用JupyterLab时ipywidget)。如何通过df.plot()绘制交互式三维散点图


Tags: 数据引擎功能绘图dataframepandasdfplot
2条回答

坚持df.plot()方法有一个df.iplot()Cufflinks and Plotly

plotly是一种方式…使用scatter3d

import plotly as py
import plotly.graph_objs as go
import numpy as np
import pandas as pd

# data
np.random.seed(1)
df = pd.DataFrame(np.random.rand(20, 3), columns=list('ABC'))

trace = go.Scatter3d(
    x=df['A'],
    y=df['B'],
    z=df['C'],

    mode='markers',
    marker=dict(
        size=5,
        color=c,              
        colorscale='Viridis',   
    ),
    name= 'test',

    # list comprehension to add text on hover
    text= [f"A: {a}<br>B: {b}<br>C: {c}" for a,b,c in list(zip(df['A'], df['B'], df['C']))],
    # if you do not want to display x,y,z
    hoverinfo='text'
)


layout = dict(title = 'TEST',)

data = [trace]
fig = dict(data=data, layout=layout)

py.offline.plot(fig, filename = 'Test.html')

相关问题 更多 >