Créer une fonction avec matplotlib
Xoris
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'envoie un appel à l'aide car je bloque depuis un moment...
Je dois créer plusieurs fonction pour voir le nombre d'élément parcourue par rapport au temps et les comparés selon la méthode de triage utilisé ainsi que les fichiers.
Je dois utilisé numpy pour le triage et pandas pour les résultats.
le graphique sera réalisé à l'aide de matplotlib.
Le problème que je rencontre est que je souhaite faire un graphique avec mon nombre d'éléments par rapport au temps. Les éléments sont en 2 dimensions du fait que se soit dans un tableau et mon temps en 1 dimension car je ne possède que le temps qu'il a pris à faire le triage.
Pour le coup, je bloque car je ne sais pas comment m'y prendre pour le réaliser.
J'ai mis mon code commenté afin que vous puissiez y voir plus clair.
J'espère que quelqu'un sera m'aider pour mon problème et je vous souhaite à tous une bonne soirée.
J'envoie un appel à l'aide car je bloque depuis un moment...
Je dois créer plusieurs fonction pour voir le nombre d'élément parcourue par rapport au temps et les comparés selon la méthode de triage utilisé ainsi que les fichiers.
Je dois utilisé numpy pour le triage et pandas pour les résultats.
le graphique sera réalisé à l'aide de matplotlib.
Le problème que je rencontre est que je souhaite faire un graphique avec mon nombre d'éléments par rapport au temps. Les éléments sont en 2 dimensions du fait que se soit dans un tableau et mon temps en 1 dimension car je ne possède que le temps qu'il a pris à faire le triage.
Pour le coup, je bloque car je ne sais pas comment m'y prendre pour le réaliser.
J'ai mis mon code commenté afin que vous puissiez y voir plus clair.
J'espère que quelqu'un sera m'aider pour mon problème et je vous souhaite à tous une bonne soirée.
#importation de bibliothèque
import pandas as pd
import numpy as np
import matplotlib
import time
import matplotlib.pyplot as plt
#génération de 3 fichiers différents
#trier par ordre croissant
dc = pd.DataFrame(np.sort(np.random.randint(1,50,2000)))
#ordre aléatoire
da = pd.DataFrame(np.random.randint(1,50,2000))
#ordre décroissant
dd = pd.DataFrame(np.sort(np.random.randint(1,50,2000))[::-1])
#sauvegarde dans les fichiers
dc.to_csv('fichier1.csv', index=False)
da.to_csv('fichier2.csv', index=False)
dd.to_csv('fichier3.csv', index=False)
#temps pris pour le triage
start = time.time()
B = np.sort(dc, axis=-1, kind='quicksort')
end = time.time()
print(B)
tpp = end-start
#Faire un graphique avec le nombre d'élément parcourue sur le temps
print(tpp)
plt.plot(B,tpp)
plt.show()
Configuration: Windows / Chrome 100.0.4896.127
A voir également:
- Créer une fonction avec matplotlib
- Fonction si et - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer une adresse hotmail - Guide
- Créer un lien pour partager des photos - Guide
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
merci de préciser le langage quand tu utilises les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
ton code fonctionne bien et ne fait pas exactement ce que tu souhaites?
en quoi dévie-t-il du résultat attendu?
merci de préciser le langage quand tu utilises les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
ton code fonctionne bien et ne fait pas exactement ce que tu souhaites?
en quoi dévie-t-il du résultat attendu?
Merci pour ta réponse,
Je souhaite réaliser un graphique à l'aide de matplotlib avec comme parametre le temps et le nombre d'élément parcourue (lors du triage) mais lorsque j'essaie de faire un graphique avec la fonction plt.plot(B,tpp)
B = triage effectuer (quicksort)
tpp= temps pris pour faire le triage
J'obtiens un message d'erreur qui est le suivant: [[ 1]
[ 1]
[ 1]
...
[49]
[49]
[49]]
0.000997304916381836
Traceback (most recent call last):
File "C:\Users\Xoris\Desktop\0000\main.py", line 34, in <module>
plt.plot(B,tpp)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\pyplot.py", line 2757, in plot
return gca().plot(
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_axes.py", line 1632, in plot
lines = [*self._get_lines(*args, data=data, **kwargs)]
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 312, in __call__
yield from self._plot_args(this, kwargs)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 498, in _plot_args
raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (2000, 1) and (1,)
Process finished with exit code 1
Je souhaite réaliser un graphique à l'aide de matplotlib avec comme parametre le temps et le nombre d'élément parcourue (lors du triage) mais lorsque j'essaie de faire un graphique avec la fonction plt.plot(B,tpp)
B = triage effectuer (quicksort)
tpp= temps pris pour faire le triage
J'obtiens un message d'erreur qui est le suivant: [[ 1]
[ 1]
[ 1]
...
[49]
[49]
[49]]
0.000997304916381836
Traceback (most recent call last):
File "C:\Users\Xoris\Desktop\0000\main.py", line 34, in <module>
plt.plot(B,tpp)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\pyplot.py", line 2757, in plot
return gca().plot(
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_axes.py", line 1632, in plot
lines = [*self._get_lines(*args, data=data, **kwargs)]
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 312, in __call__
yield from self._plot_args(this, kwargs)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 498, in _plot_args
raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (2000, 1) and (1,)
Process finished with exit code 1
mon code fonctionne jusqu'a la fonction matplotlib qui me donne un message d'erreur qui est le suivant:
[[ 1]
[ 1]
[ 1]
...
[49]
[49]
[49]]
0.000997304916381836
Traceback (most recent call last):
File "C:\Users\Xoris\Desktop\0000\main.py", line 34, in <module>
plt.plot(B,tpp)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\pyplot.py", line 2757, in plot
return gca().plot(
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_axes.py", line 1632, in plot
lines = [*self._get_lines(*args, data=data, **kwargs)]
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 312, in __call__
yield from self._plot_args(this, kwargs)
File "C:\Users\Xoris\anaconda3\envs\0000\lib\site-packages\matplotlib\axes\_base.py", line 498, in _plot_args
raise ValueError(f"x and y must have same first dimension, but "
ValueError: x and y must have same first dimension, but have shapes (2000, 1) and (1,)
Process finished with exit code 1
Pour le coup, je comprends pas pourquoi je n'arrive pas à créer un graphique, il parle de dimension différente...