Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes | ||
teaching:progappchim:plot_sinus_cosinus [2015/03/24 03:07] – créée villersd | teaching:progappchim:plot_sinus_cosinus [2016/03/01 11:03] – [Fixer le texte des graduations] villersd | ||
---|---|---|---|
Ligne 103: | Ligne 103: | ||
... | ... | ||
</ | </ | ||
+ | |||
+ | ===== Fixer les limites ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Les limites par défaut de la figure sont un peu juste verticalement et on souhaite un peu d' | ||
+ | |||
+ | <sxh python; title : 04-setting_limits.py> | ||
+ | ... | ||
+ | plt.xlim(X.min() * 1.1, X.max() * 1.1) | ||
+ | plt.ylim(C.min() * 1.1, C.max() * 1.1) | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Fixer les graduations ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Les graduations ne sont pas idéales car elles ne montrent pas les valeurs intéressantes (+/ | ||
+ | |||
+ | <sxh python; title : 05-setting_ticks.py> | ||
+ | ... | ||
+ | plt.xticks([-np.pi, | ||
+ | plt.yticks([-1, | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Fixer le texte des graduations ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Les graduations sont adéquates, mais leur écriture (3.142,...) n'est pas très explicite. on préférerait lire π au lieu de 3.142. La solution consiste à fournir en plus des graduations une seconde liste reprenant les textes correspondants à écrire. Notez qu'on utilise [[http:// | ||
+ | |||
+ | <sxh python; title : 06-setting_tick_labels.py> | ||
+ | ... | ||
+ | plt.xticks([-np.pi, | ||
+ | [r' | ||
+ | plt.yticks([-1, | ||
+ | [r' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | <note tip>Les chaînes de caractères incluant du code LaTeX pour les formules mathématiques doivent être préfixées par la lettre " | ||
+ | ===== Déplacer les lignes de délimitation (spines) ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Les lignes de délimitations verticales et horizontales (spines) sont les lignes qui connectent les graduations sur les axes et délimitent les limites de la surface visualisant les données du graphique. Ces lignes peuvent être placées arbitrairement et jusqu' | ||
+ | |||
+ | <sxh python; title : 07-moving_spines.py> | ||
+ | ... | ||
+ | ax = plt.gca() | ||
+ | ax.spines[' | ||
+ | ax.spines[' | ||
+ | ax.xaxis.set_ticks_position(' | ||
+ | ax.spines[' | ||
+ | ax.yaxis.set_ticks_position(' | ||
+ | ax.spines[' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Ajouter une légende ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Ajoutons une légende dans le coin supérieur gauche. Cela nécessite juste d' | ||
+ | |||
+ | |||
+ | <sxh python; title : 08-adding_a_legend.py> | ||
+ | ... | ||
+ | plt.plot(X, C, color=" | ||
+ | plt.plot(X, S, color=" | ||
+ | |||
+ | plt.legend(loc=' | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Annoter certains points ===== | ||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Annotons quelques points particuliers en utilisant la commande " | ||
+ | |||
+ | <sxh python; title : 09-annotate_some_points.py> | ||
+ | ... | ||
+ | t = 2 * np.pi / 3 | ||
+ | plt.plot([t, | ||
+ | plt.scatter([t, | ||
+ | plt.annotate(r' | ||
+ | xy=(t, np.cos(t)), xycoords=' | ||
+ | xytext=(-90, | ||
+ | arrowprops=dict(arrowstyle=" | ||
+ | |||
+ | plt.plot([t, | ||
+ | plt.scatter([t, | ||
+ | plt.annotate(r' | ||
+ | xy=(t, np.sin(t)), xycoords=' | ||
+ | xytext=(+10, | ||
+ | arrowprops=dict(arrowstyle=" | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | ===== Le diable est dans les détails* ===== | ||
+ | *Attribué à Nietzsche | ||
+ | |||
+ | * Documentation à consulter : | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | Les textes des graduations sont à présent difficilement lisibles à cause des lignes bleue et rouge. On peut les écrire avec une taille supérieure et on peut aussi ajuster leurs propriétés de telle sorte qu'ils soient rendus que un fond blanc semi-transparent (transparence définie par alpha). Cela nous permet de voir correctement à la fois les données et les textes des graduations. | ||
+ | |||
+ | <sxh python; title : 10-devil_is_in_the_details.py> | ||
+ | ... | ||
+ | for label in ax.get_xticklabels() + ax.get_yticklabels(): | ||
+ | label.set_fontsize(16) | ||
+ | label.set_bbox(dict(facecolor=' | ||
+ | ... | ||
+ | </ | ||
+ |