Bonjour,
Je souhaite tracer sur un MÊME graphique un nuage de points et la courbe représentative d'une fonction mathématique. Comment faire pour faire apparaître les deux en même temps ?
Merci bien.
Bonjour,
Je souhaite tracer sur un MÊME graphique un nuage de points et la courbe représentative d'une fonction mathématique. Comment faire pour faire apparaître les deux en même temps ?
Merci bien.
Salut,
Déjà, il faut une bibliothèque externe à Python pour faire çà.
En supposant que vous utilisez matplotlib, vous avez une galerie de graphiques ou faire son marché en fonction du graphique souhaité... et à étudier le code qui l'accompagne.
- W
J'utilise matplotlib, mais pour l'instant, j'arrive à afficher les deux séparément. Je voudrais tout afficher sur le même graphique.
1) Postez le code que vous avez déjà fait, ca donne une base de laquelle partir, même si ca ne fournit pas le résultat escompté !
2) Comme le dit wiztricks, il y a des exemples qui font déjà très bien ca, il y a juste à adapter :
https://matplotlib.org/stable/galler...tter-masked-py
Voici pour le nuage de points :
et après il faudrait que je trace par dessus la courbe de la fonction -log(x) (opposé du logarithme décimal).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 %matplotlib inline import pandas as pd import matplotlib.pyplot as plt import numpy as np plt.style.use('seaborn-whitegrid') data = [(0.0001, 6.03), (0.00025, 4.27), (0.0005,4.05), (0.001, 2.98)] dataFrame = pd.DataFrame(data=data, columns=['A','B']); dataFrame.plot.scatter(x='A', y='B', title= "Scatter plot entre deux variable X et Y"); plot.show();
Et si vous faites un plt.plot de la fonction log juste après ca donne quoi ?
Sinon va falloir passer par la syntaxe de plot un peu plus avancée de matplotlib, c'est à dire via la création d'abord d'une figure et d'un axe, et ensuite on fait le plot sur cet ax (ax.plot au lieu de plt.plot), et là on maitrise où se trace les graphiques (sinon c'est matplotlib qui fait sa tambouille comme il le souhaite)
Et comme le plot de panda est compatible avec le fait d'imposer l'axe
https://pandas.pydata.org/docs/refer...rame.plot.html
vous devriez pouvoir vous en sortir comme cela.
(Voyez au passage la nécessité de montrer le code, car ce n'est pas 2 plot matplotlib que vous voulez faire et comme on le comprenais au départ, mais 1 plot panda avec 1 plot matplotlib ! Même si panda appelle matplotlib derrière, ce n'est pas tout à fait la même chose.)
En mettant -log(x) juste après, il m'affiche un autre graphique avec la courbe, sans la nuage.
Et bien donc on se dépeche de tester la seconde solution que je vous ai proposé (qui celle là je suis assez confiant qu'elle va bien donner le résultat que vous souhaitez)
Partager