Je suis juste en train d'expérimenter avec l'intrigue

Df est un dataframe pandas avec 10 colonnes

import plotly.graph_objects as go

fig = go.Figure()

fig.add_trace(
    go.Scatter(
        x=df[df.columns[0:4]],
        y=df[df.columns[0]],
        name="V1 Mag",
    ))

fig.show()

Ici, si je passe des données de 4 colonnes (0,1,2,3) à l'axe des x, il les accepte comme axe des x sans afficher d'erreur.

        x=df[df.columns[0:4]],
        y=df[df.columns[0]],

Je m'attends à ce que plotly n'accepte qu'un seul tableau de données pour chaque axe, sinon afficher une erreur

1
Santhosh 19 nov. 2020 à 06:40

1 réponse

Meilleure réponse

À mon avis, c'est une question de style : certaines bibliothèques sont plus strictes et généreront une erreur, mais d'autres auront simplement un comportement inattendu si vous n'utilisez pas les méthodes ou les paramètres comme prévu. Dans ce cas, passer un tableau au lieu d'un vecteur pour les coordonnées x obligera Plotly à essayer d'interpréter au mieux ce que vous vouliez dire.

import numpy as np
import pandas as pd
import plotly.graph_objects as go

np.random.seed(42)
df = pd.DataFrame(np.random.randint(0,100,size=(10, 10)))

fig = go.Figure()

fig.add_trace(
    go.Scatter(
        x=df[df.columns[0:4]],
        y=df[df.columns[0]],
        name="V1 Mag",
    ))

fig.show()

enter image description here

Et le DataFrame ressemble à ceci :

enter image description here

Il semble que si vous passez un tableau m x n où m > 1, Plotly essaiera d'interpréter les deux premières lignes du DataFrame comme une catégorie. En général, vous constaterez qu'en travaillant avec Plotly, c'est une bibliothèque très flexible, donc elle ne "casse" pas souvent, mais cela ne fonctionnera pas comme prévu si vous faites quelque chose d'ambigu comme vous le faites ici.

0
Derek O 19 nov. 2020 à 07:21