CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Python erreur "got multiple values for argument 'x' "

thelastofus2
thelastofus2
Niveau 32
06 octobre 2018 à 08:36:53

Bonjour,

J'essaye d'apprendre à utiliser Matplotlib, mais je n'arrive pas à faire fonctionner une fonction. Voilà mon code :


import matplotlib.pyplot as plt

days = [1,2,3,4,5]
sleeping = [7,8,6,10,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,6,4]

plt.stackplot(days, sleeping, eating, working, playing) #erreur ici

plt.xlabel('x')
plt.ylabel('y')
plt.title("cool graph\nCheck it out")
plt.legend()


plt.show()

def test(x, *args):
    print(x)
    print([arg for i in args])
test(5,7,8,9)

Lorsque j'appelle la fonction stackplot, j'ai l'erreur suivante : stackplot() got multiple values for argument 'x'
Voilà le prototype de stackplot : https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.stackplot.html
Et ma fonction test ne retourne pas d'erreur.
Donc je ne comprends pas pourquoi ça me détecte plusieurs argument pour x. J'ai essayer d'autre chose, comme mettre les arguments qui suivent x dans une liste, ou mettre qu'un entier à la place de x, ou écrire plt.stackplot(days, args = [sleeping, eating, working, playing])
Mais j'ai toujours une erreur... Des idées ?

TechnoForce3
TechnoForce3
Niveau 39
06 octobre 2018 à 09:29:49

Alors c'est peut-être pas ça car j'ai fais extrêmement peu de python mais la doc semble indiquer que les données en ordonnées doivent être dans un tableau 2D. Donc plutôt quelque chose de la forme :
sleeping = [[7,8,6,10,7]] eating = [[2,3,4,3,2]] working = [[7,8,7,2,2]] playing = [[8,5,7,6,4]]
ou
y = [[7,8,6,10,7],[2,3,4,3,2], [7,8,7,2,2],[8,5,7,6,4]]

thelastofus2
thelastofus2
Niveau 32
06 octobre 2018 à 13:50:47

Le 06 octobre 2018 à 09:29:49 TechnoForce3 a écrit :
Alors c'est peut-être pas ça car j'ai fais extrêmement peu de python mais la doc semble indiquer que les données en ordonnées doivent être dans un tableau 2D. Donc plutôt quelque chose de la forme :
sleeping = [[7,8,6,10,7]] eating = [[2,3,4,3,2]] working = [[7,8,7,2,2]] playing = [[8,5,7,6,4]]
ou
y = [[7,8,6,10,7],[2,3,4,3,2], [7,8,7,2,2],[8,5,7,6,4]]

Oui j'ai essayé ça
[[7,8,6,10,7],[2,3,4,3,2], [7,8,7,2,2],[8,5,7,6,4]]
revient à écrire
[sleeping, eating, working, playing]

Message édité le 06 octobre 2018 à 13:50:59 par thelastofus2
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment