Как я могу построить интерактивную трехмерную диаграмму рассеяния из pandas кадра данных? - PullRequest
1 голос
/ 23 апреля 2020

Pandas обеспечивает встроенную функциональность построения графиков для DataFrame с несколькими внутренними механизмами построения графиков (matplotlib, et c.). Я хотел бы построить интерактивную трехмерную диаграмму рассеяния непосредственно из кадра данных через df.plot(), но придумал только неинтерактивные графики. Я думаю о том, что получаю, например, plotly. Я бы предпочел решение, которое не зависит от зависимостей установки IDE для предварительного анализа данных (например, ipywidget при использовании JupyterLab). Как я могу построить интерактивные 3D-диаграммы рассеяния через df.plot()?

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

- это способ go ... использовать 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')
0 голосов
/ 23 апреля 2020

Придерживаясь подхода df.plot(), существует df.iplot() с запонками и Plotly .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...