Commit dc4f8ad0 authored by Linamaria GALLEGOS's avatar Linamaria GALLEGOS

Exercice 02-3

parent f0de5039
...@@ -11,83 +11,89 @@ ...@@ -11,83 +11,89 @@
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script> #+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script> #+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
* Quelques explications Le but de ce document est de faire un calcul simple soit même
Ceci est un document org-mode avec quelques exemples de code #+begin_src python :results output :session *python* :exports both
python. Une fois ouvert dans emacs, ce document peut aisément être import numpy as np
exporté au format HTML, PDF, et Office. Pour plus de détails sur
org-mode vous pouvez consulter https://orgmode.org/guide/.
Lorsque vous utiliserez le raccourci =C-c C-e h o=, ce document sera toto = np.array([14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4, 16.9, 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2, 9.9, 2.9, 2.8, 15.4, 15.7, 9.7, 13.1, 13.2, 12.3, 11.7, 16.0, 12.4, 17.9, 12.2, 16.2, 18.7, 8.9, 11.9, 12.1, 14.6, 12.1, 4.7, 3.9, 16.9, 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, 18.0, 13.6, 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, 16.1, 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3, 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7, 11.3, 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9, 20.4, 14.6, 16.4, 18.7, 16.8, 15.8, 20.4, 15.8, 22.4, 16.2, 20.3, 23.4, 12.1, 15.5, 15.4, 18.4, 15.7, 10.2, 8.9, 21.0])
compilé en html. Tout le code contenu sera ré-exécuté, les résultats
récupérés et inclus dans un document final. Si vous ne souhaitez pas
ré-exécuter tout le code à chaque fois, il vous suffit de supprimer
le # et l'espace qui sont devant le ~#+PROPERTY:~ au début de ce
document.
Comme nous vous l'avons montré dans la vidéo, on inclue du code mean = np.mean(toto)
python de la façon suivante (et on l'exécute en faisant ~C-c C-c~): print(mean)
amin = np.amin(toto)
print(amin)
amax = np.amax(toto)
print(amax)
mediane = np.median(toto, 0)
print(mediane)
std = np.std(toto, 0, ddof = 1)
print(std)
#+begin_src python :results output :exports both
print("Hello world!")
#+end_src #+end_src
#+RESULTS: #+RESULTS:
: Hello world! :
: 14.113000000000001
Voici la même chose, mais avec une session python, donc une : 2.8
persistance d'un bloc à l'autre (et on l'exécute toujours en faisant : 23.4
~C-c C-c~). : 14.5
#+begin_src python :results output :session :exports both : 4.334094455301447
import numpy
x=numpy.linspace(-15,15) #+begin_src python :results output file :session *python* :var matplot_lib_filename="figuretoto2.png" :exports both
print(x) import matplotlib.pyplot as plt
fig,ax = plt.subplots(1)
ax.plot(toto, color = 'blue', linewidth=1)
ax.grid(color='gray', linestyle='dotted', linewidth=1)
plt.xlim(0,100)
plt.ylim(0,25)
plt.savefig(matplot_lib_filename)
print(matplot_lib_filename)
#+end_src #+end_src
#+RESULTS: #+RESULTS:
#+begin_example [[file:figuretoto2.png]]
[-15. -14.3877551 -13.7755102 -13.16326531 -12.55102041
-11.93877551 -11.32653061 -10.71428571 -10.10204082 -9.48979592
-8.87755102 -8.26530612 -7.65306122 -7.04081633 -6.42857143
-5.81632653 -5.20408163 -4.59183673 -3.97959184 -3.36734694
-2.75510204 -2.14285714 -1.53061224 -0.91836735 -0.30612245
0.30612245 0.91836735 1.53061224 2.14285714 2.75510204
3.36734694 3.97959184 4.59183673 5.20408163 5.81632653
6.42857143 7.04081633 7.65306122 8.26530612 8.87755102
9.48979592 10.10204082 10.71428571 11.32653061 11.93877551
12.55102041 13.16326531 13.7755102 14.3877551 15. ]
#+end_example
Et enfin, voici un exemple de sortie graphique:
#+begin_src python :results output file :session :var matplot_lib_filename="./cosxsx.png" :exports results
import matplotlib.pyplot as plt
plt.figure(figsize=(10,5))
plt.plot(x,numpy.cos(x)/x)
plt.tight_layout()
#+begin_src python :results output file :session *python* :var matplot_lib_filename="figuretoto3.png" :exports both
fig,ax = plt.subplots(1)
ax.grid(color='gray', linestyle='dotted', linewidth=1)
ax.hist(toto, color = 'blue', edgecolor='black', linewidth=1)
plt.xlim(0,25)
plt.ylim(0,25)
plt.savefig(matplot_lib_filename) plt.savefig(matplot_lib_filename)
print(matplot_lib_filename) print(matplot_lib_filename)
#+end_src #+end_src
#+RESULTS: #+RESULTS:
[[file:./cosxsx.png]] [[file:figuretoto3.png]]
Vous remarquerez le paramètre ~:exports results~ qui indique que le code #+begin_src shell :results output :exports both
ne doit pas apparaître dans la version finale du document. Nous vous ls
recommandons dans le cadre de ce MOOC de ne pas changer ce paramètre #+end_src
(indiquer ~both~) car l'objectif est que vos analyses de données soient
parfaitement transparentes pour être reproductibles. #+RESULTS:
#+begin_example
Attention, la figure ainsi générée n'est pas stockée dans le document #exercice_python_fr.org#
org. C'est un fichier ordinaire, ici nommé ~cosxsx.png~. N'oubliez pas exercice.ipynb
de le committer si vous voulez que votre analyse soit lisible et exercice_R_en.org
compréhensible sur GitLab. exercice_R_fr.org
exercice_en.Rmd
Enfin, n'oubliez pas que nous vous fournissons dans les ressources de exercice_en.ipynb
ce MOOC une configuration avec un certain nombre de raccourcis exercice_fr.Rmd
claviers permettant de créer rapidement les blocs de code python (en exercice_fr.ipynb
faisant ~<p~, ~<P~ ou ~<PP~ suivi de ~Tab~). exercice_python_en.org
exercice_python_fr.org
Maintenant, à vous de jouer! Vous pouvez effacer toutes ces figuretoto1.png
informations et les remplacer par votre document computationnel. figuretoto2.png
figuretoto3.png
#+end_example
#+begin_src shell :results output :exports both
explorer.exe figuretoto3.png
#+end_src
#+RESULTS:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment