Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ajout d'indicateurs à des options personnalisées

00:00 Président 1: Bonjour, tout le monde, et bienvenue à la partie 6 de la section 4 de Data Visualization avec Python et Matplotlib. Dans ce tutoriel, nous allons ajouter un indicateur plus simple pour remplir notre graphique, et ensuite nous allons commencer par une personnalisation plus poussée. Donc, ce que nous allons faire, c'est que nous allons ajouter cet indicateur appelé "haut moins bas". Et l'idée d'un plus bas niveau bas est de suivre la volatilité. Maintenant, probablement, vous pouvez lisser le haut moins bas avec une sorte de moyenne mobile, ou le plus bas moins faible pourrait être un changement en pourcentage, donc il est normalisé pour tous les stocks ou autre. Pour l'instant, on va le garder très simple et on va juste faire le plus bas. Donc l'idée de haut moins bas c'est que vous prenez ... Disons que nous utilisons des données quotidiennes, que nous sommes, vous prenez le plus haut de ce jour moins le bas de ce jour, et vous obtenez une gamme de prix que cet instrument a varié entre pour ce jour. Et donc, c'est utile parce que plus la variance du prix est grande, plus le prix est volatile.

00:58 S1: Donc, on va aller de l'avant et on va juste ajouter ceci en dessous de la moyenne mobile. Et ce que nous allons dire est, "def haut moins bas," et pour calculer pour ça, nous avons des hauts et nous avons des bas, et c'est tout ce dont nous avons besoin. Et puis, tout ce que nous avons à faire à ce stade est de ramener les sommets moins les plus bas. Maintenant, de façon intéressante, ce que nous pouvons faire c'est quelque chose de simple comme ça, par exemple, par exemple, nous avons une situation où nous avons des hauts sont égaux à 6787689. Et puis on a des coups. Les lignes sont égales à, et espace seulement quelques fois. Donc, 1232421. Ce sont donc nos plus hauts et nos plus bas, par exemple. Nous pouvons avoir H_L égal à, en disant, en gros, "Hé, c'est le plus bas moins bas." Et ce que nous pouvons faire, c'est que nous pouvons utiliser le mappage, et en Python 3, c'est plus comme un mappage de liste. Donc, ce que nous faisons c'est, d'abord, nous voulons cartographions le haut moins bas. Et puis on passe ... Donc vous passez la fonction, et ensuite vous transmettez n'importe quel type de paramètres à cette fonction. Nous avons des hauts, nous avons des bas. Et puis, en gros, nous devons le convertir à une liste si vous êtes en Python 3. Si vous avez suivi en Python 2, vous devriez probablement avoir Python 3. Mais si vous êtes sur Python 2, vous ... Vous n'avez pas besoin de la liste ici, mais sur Python 3, vous le faites absolument. Alors, on pourrait imprimer H_L, et le sauver autour de ça, et c'est juste ... Nous n'avons même pas besoin d'aller à l'action pour tracer.

02:39 S1: Donc, il imprime cette liste: 5555268. C'est notre niveau le plus bas. 555, bien. 5268, donc, c'était exactement ce que nous voulions. Donc on peut fermer, on ne va pas aller plus loin, et on peut se débarrasser de ce code ici. Et maintenant, ce que nous pouvons faire, c'est appliquer ce code à nos données de tarification. Donc, nous avons toutes les données ici, et ensuite nous définissons nos moyennes mobiles ici, cool. Et puis on commence, en fait ... Nous recréons les données un peu ici, puis nous commençons à tracer des données ici. Donc, comme je le disais avant, en général, c'est une bonne idée de tout faire ensemble. Donc, nous pourrions en fait continuer à le faire. Donc ce sont nos trucs AX2. Nous allons nous en débarrasser. Ce sont nos AX3. Alors voilà où nous allons mettre les trucs AX1.

03:31 S1: Donc, d'abord, nous devons définir le niveau le plus bas. Donc, on ferait comme H moins L est égal ... Et puis, encore une fois, ce serait une carte du haut moins bas. Oops, c'est le trait de soulignement bas. Et puis, nous avons les Ps élevés et les bas Ps, d'accord? Et puis nous avons besoin de convertir tout cela en une liste, donc nous faisons la liste. Donc, c'est une liste de tout ça. Alors, ce que nous allons faire, c'est juste dire AX1.plot, et nous allons tracer la date, puis le H_L. Donc, avec ça, allons de l'avant et économisons et exécutez ça, et nous allons tracer X à nouveau. Et maintenant nous avons le haut moins bas sur le top chart.

04:25 S1: Nous avons maintenant un graphique. Il y a beaucoup de choses qui se passent ici et nous avons des données que nous utilisons. Donc, c'est plutôt cool. Maintenant, encore une fois, il y a des choses qui ne sont pas les plus grandes pour l'instant. Donc, certaines choses que nous sommes en train de faire ici sont nos dates. Nous ne pouvons pas vraiment lire les dates. Ces chiffres ne signifient rien pour nous, ces chiffres ne signifient rien pour nous, nous n'avons pas nos étiquettes. Si nous zoomons sur un point spécifique sur un graphique, il ne zoomme pas sur l'autre graphique, donc nous devons le réparer. Et nous n'avons pas de titre, et il y a probablement d'autres choses que je ne pense pas de cette minute, mais nous avons beaucoup de petites choses qui ne sont toujours pas mauvaises avec ce graphique. Alors, ce que nous devons faire maintenant dans le prochain ... Fondamentalement, le reste de cette section est dédié à corriger ce tableau et à le rendre présentable. Nous avons donc beaucoup de changements à apporter, mais nous avons les données et maintenant nous faisons juste une personnalisation. Donc, nous allons obtenir ce graphique plutôt bon en aucun temps. Donc, de toute façon, c'est ce que vous devez regarder avec le reste de cette section, alors restez à l'écoute. 00:00 Président 1: Bonjour tout le monde, et bienvenue à la partie 7 de la section 4 de notre Visualisation des données avec Python et Matplotlib Tutorial Series. Dans cette partie, ce dont nous allons parler, c'est d'ajuster les dates et de régler quelques autres problèmes, et vraiment, c'est ce que nous ferons pour le reste de cette section.

00:18 S1: Tout d'abord, nous trouvons que lorsque nous tracons ce graphique, l'une des premières choses que nous remarquons est, nous avons juste beaucoup de chevauchements en cours ici. Ainsi, les dates sont indiquées sur l'ax2. Ils ont vraiment besoin de se montrer sur l'ax3 et nous pouvons juste nous débarrasser des autres dates qui se manifestent du tout ; nous ne voulons même pas de ces dates. Donc la première chose que nous allons faire, c'est que nous allons nous en sortir pour l'instant. Et tout d'abord, nous nous retrouverons là où nous définissons des choses pour ax2, et nous ne faisons même pas ... Nous ne voulons vraiment pas ça du tout, donc coutons ça. Ctrl + X, couper, descendre à l'ax3, puis Ctrl + V pour coller. Et changez ceci en ax3, ax3, ax3. Donc maintenant ce que nous faisons c'est que nous préparons ces étiquettes sur l'ax3. Voyons s'assurer que tout est bien la façon dont nous nous attendons. Et bien sûr, maintenant nous avons juste les chiffres ici, pas les dates et les chiffres ici, pas les dates et ... Ici, nous avons des dates. Alors, ça a l'air bien. Donc on part à un début relativement décent.

01:33 S1: Donc maintenant ce que nous voulons faire, c'est nous débarrasser des étiquettes X sur les ax1 et les ax2. Nous pouvons donc dire ce que nous pouvons faire. On peut dire plt.setp, et ce que nous allons faire ici est ax1.get_xticklabels. Et puis ce que nous allons faire, c'est que nous allons les définir visible=false. Donc ce que cela fera, c'est se débarrasser des tiques X pour l'axe 1. Et puis on fait exactement la même chose. En fait, faisons ça ici. On va descendre à l'ax2. C'est là que nous avons graphié, nous avons ajouté la boîte dans la boîte d'annotation, puis nous allons descendre ici, et nous ferons la même chose. Donc, plt.setp. Cette fois, ax2. Toujours get_xticklabels. Et nous allons définir visible=false. Alors maintenant, économisons et exécutez ça, et voyons ce que nous obtenons maintenant. Donc, maintenant ce que nous avons, c'est que nous avons encore plus de temps là-bas, mais nous nous en occuperons en un petit peu. Mais nous n'avons plus aucun de ces chiffres sur le graphique.

02:56 S1: Donc la prochaine chose que nous voulons aller de l'avant, c'est que nous allons descendre ici. Donc, avec la moyenne mobile, par exemple, juste pour incorporer ce que nous avons appris jusqu'à présent, que dire si nous voulions montrer ce que ces moyennes mobiles signifiaient réellement? Donc, la façon de déplacer les moyennes fonctionne, ce n'est peut-être pas la moyenne mobile la plus élevée pour cette entreprise, mais la façon dont les moyennes mobiles fonctionnent est fondamentalement quand la moyenne mobile plus rapide, donc cette moyenne bleue, est inférieure à la moyenne mobile plus lente, c'est-à-dire que le prix est à la baisse. C'est en train de tomber. Et c'est vrai. Et une fois cette moyenne mobile supérieure à la moyenne mobile plus lente, cela signifie que le prix est à la hausse. Encore une fois, si nous alignons ça, oui, c'est vrai. Et là encore, il traverse à ce moment-là, et puis il est en bas. Donc à ce point dans ce domaine, c'est mauvais, le prix baisse. Cette marque, c'est bon. Le prix est en hausse. Mauvais.

03:50 S1: Alors parlons de créer un remplissage personnalisé qui va remplir ce rouge, ce vert, et ce rouge. Eh bien, la façon dont nous pouvons faire ça revient à ... Nous le ferons à l'ax3. Nous complotons ici et en gros ... Tout d'abord, allons-y. Les lignes sont un peu épaisses pour ce que nous allons finir par faire, donc disons linéewidth=1. Et encore une fois, nous allons faire de la linewidth ici égale 1. Ensuite, ce que nous voulons faire est après que nous avons tracé, allons-y et faisons un ax3.fill_entre et nous remplissons entre la date, et ensuite "-start:", nous remplissons entre là, et puis c'est. .. Et bien, au moins c'est le X. Et alors, qu'est-ce que nous remplissons? Eh bien, on remplit le ma2 de "-start:" vers le "ma1-start:". Où? Et puis ici, disons que c'est la baisse. Il s'agit de l'endroit où "ma2-start:" est supérieur à ... Et puis nous allons juste utiliser plus que ou égal à "ma1-start:". Donc ce sera notre remplissage entre les deux. Et donc c'est la déclaration où, et ensuite on peut ajouter des virgules ici, et on peut dire que la couleur de face ici sera égale à rouge. Et puis on peut dire que la couleur de bord est égale à rouge. Et enfin nous pouvons ajouter le alpha, et nous allons juste utiliser 0,5 pour l'instant.

05:42 S1: Alors, nous faisons la même chose exactement de nouveau ici, où nous allons dire ax3.fill_between, puis date, et puis la même chose de nouveau. Donc le X. Et alors, qu'est-ce que nous remplissons? Eh bien, on se remplit entre le "ma2-start:" et le "ma1-start:". Et cette fois, l'instruction where est où le ma2 de "-start:" est inférieur ou égal à "ma1-start:". Et puis ici, la couleur de face sera égale à verte, la couleur de bord sera égale à verte, et puis de nouveau, le alpha sera fixé à 0,5. Donc c'est une sorte de notre façon de se remplir pour voir facilement où nos achats et nos ventes pourraient être. Encore une fois, nous allons tracer Exxon. Oh, nous avons une erreur. Mettons ça en avant. Où n'est pas défini. Mettons fin à ça. D'accord, d'accord. Il doit donc être "où =". "Où =", d'accord. Alors essayons encore une fois. On va tracer Exxon, et on va monter le graphique. Et maintenant nous avons le remplissage. Donc c'est le bon moment, la vente du temps, et ensuite le bon temps, la vente du temps.

07:25 S1: Donc, c'est nous qui incorporons la partie de remplissage que nous avons apprise. Donc, enfin, la seule chose que nous voudrions peut-être résoudre à ce sujet serait quelque chose comme ces temps, alors permettez-moi de le faire. Donc ces petites heures ici. Maintenant, on pourrait essayer de les enlever. De plus, si nous changeons le haut moins bas, par exemple, au lieu d'intrigue, nous faisons le tracé de la date, et ensuite nous ajouterons un petit paramètre ici, qui est ce tiret. De cette façon, il trace une ligne plutôt qu'un nuage de points. Donc, si on ajoute ça, on peut voir qu'il se débarrassé de ça pour ce complot, mais ce n'est toujours pas ce complot parce qu'il s'agit d'un chandelier. Donc l'une des choses que nous pourrions faire est par exemple, nous pourrions juste venir ici dans l'espace d'en-tête, juste se débarrasser de l'espace d'en-tête. Et l'en-tête peut couvrir ce prix et c'est tout à fait fin. On peut faire quelque chose comme ça, donc on pourrait dire hspace au lieu de 0,2 ou on pourrait faire 0,04, quelque chose comme ça. Et maintenant, ce n'est pas vraiment une grosse affaire là-bas. Donc, finalement, je pense que c'est probablement mieux juste de garder la cause de l'espace d'en-tête zéro même quand vous le faites énorme, c'est toujours en chemin, mais si vous le faites trop peu, ça va s'exécuter sur cette annotation.

08:45 S1: Mais comme avec tout ce qui se passe dans les graphiques, ce qui se passe est, par exemple, on peut dire que hspace égale 0,0. Et maintenant, il tourne un peu plus sur ces axes. Alors la question serait bien, et si nous l'avons annotée ici, prenez ça, couchez, et juste avant que nous montrons tout, faites ça dans cet ordre. Que se passe-il si nous essayons ça? On peut donc voir qu'il y a des propriétés aux axes qui le font presque toujours, de sorte que les axes prennent un précédent sur n'importe quoi. Et nous avons vu que c'était le cas lorsque les axes étaient des dates qui se chevauchaient et tout cela. Donc, vous devez garder cela à l'esprit parce que beaucoup de fois, l'ordre dans lequel les choses apparairont est l'ordre qu'ils ont été créés. Mais dans notre cas, ce n'est pas vraiment ce qui se passe ici parce que les axes sont toujours prioritaires, et c'est vraiment juste pour vous sauver de couvrir des choses accidentellement et des choses. Il suffit de garder cela à l'esprit. La seule chose qui peut couvrir un autre axe est un autre axe. Donc, de toute façon, on va changer ça. Mais si vous le laissez à zéro, par exemple, et puis nous le faisons, c'est totalement parfait, si vous avez la taille du graphe. Les autres choses qui posent problème seraient encore le chevauchement des valeurs de Y ici, dont nous parlerons très bientôt.

10:08 S1: Donc, de toute façon, c'est ça pour ce tutoriel. Restez à l'affût du prochain tutoriel, où nous parlerons des étiquettes et du nettoyage des marqueurs et tout ça. Alors restez à l'écoute pour ça. Merci d'avoir regardé.

00:00 Président 1: Bonjour, tout le monde, et bienvenue à la huitième partie de la section 4. Dans cette partie, ce dont nous allons parler, c'est de nettoyer les choses un peu et d'ajouter des étiquettes. Alors d'abord, ajoutons nos étiquettes pour que les gens sachent ce qu'ils regardent. Donc par exemple ici, nous avons ax1 et bien, fondamentalement notre ... En fait, nous venons ici aux définitions, et ici, nous avons étiqueté pour ax2. Allons-y et étiquetons pour l'ax1. Donc plt.ylabel ici serait quelque chose comme H moins L, ou élevé moins bas. Ensuite, pour nos axes 3, nous pourrions faire plt.ylabel, et ici nous dirons probablement MAVGZ, donc des moyennes mobiles, quelque chose de court pour qu'il soit adapté à ces axes Y, " cause si vous vous souvenez, nos axes Y sont plutôt petits sur au moins le haut et le bas du graphique.

01:00 S1: Ensuite, ce que nous voulons, c'est faire ça, et nous allons parler de ce que nous allons faire ensuite. Donc intrigue Exxon. Et d'accord, maintenant nous avons nos étiquettes, et c'est pourquoi. Donc si nous avons fait de MAVGZ beaucoup plus grand, ce serait trop grand pour les axes. Donc la prochaine chose dont nous voulons parler maintenant, c'est ces chiffres ici. Tout d'abord, nous avons un peu trop de nombres sur ces axes, et nous pouvons rendre la police plus petite, mais même si nous avons fait la police plus petite, nous aurions encore le chevauchement des axes du bas et de ces axes du milieu, et des axes du milieu et de ces axes supérieurs. Cela se produirait encore, peu importe ce que nous avons fait à la taille de la police, à peu de choses. Peut-être que vous pouvez le faire, mais vous pouvez voir que c'est un chevauchement parfait. Ils prennent juste les places de l'autre. Donc il y a deux choses que nous voulons faire. L'un est au moins pour le haut et les axes du bas, nous voulons en fait avoir moins de marqueurs ici, et c'est totalement faisable. Et puis nous voulons aussi réduire l'un de ces marqueurs ici et l'un des marqueurs ici, de sorte que nous n'avons pas ce chevauchement en cours. Donc c'est ce dont nous allons parler maintenant, c'est de faire ces deux choses.

02:06 S1: Donc tout d'abord, sur l'ax1, allons juste à l'endroit où nous préparons des trucs, donc ça serait juste ici. Et nous avons fixé les tiques, les X ticks à faux. Maintenant ce que nous allons faire, c'est que nous allons en faire un de plus et nous allons faire ax1.yaxes.set_major_locator, et ensuite nous les avons mis à mticker.MaxNLocator. Et puis nous disons le numéro. Donc, c'est le nombre de poubelles, et disons que nous voulons que ce soit cinq. Ok. Alors maintenant, économtons et exécutez ça. Même chose, préparer Exxon. Oh, qu'avons-nous fait? [ chuckle ] Micher? Aldroty. Mticker. Ok, essayez encore une fois. Ok, cool. Donc maintenant on peut voir que nous avons moins, et qu'ils ne s'exécutent pas les uns sur les autres. Nous avons encore ce chevauchement ici, mais ils ne s'exécutent pas les uns sur les autres. Donc maintenant on va corriger ce chevauchement sur ce sommet. Donc, la façon dont nous pouvons le faire est avec un autre paramètre. Donc nous avons nbins=5. Et puis on peut ajouter cet autre petit paramètre, et c'est prune, et on dit que nous voulons élaguer la valeur inférieure. Donc on peut sauver et courir, et on va tracer à nouveau Exxon. Et maintenant on peut voir qu'il n'y a pas de chevauchement. Donc 84, 86, 88, 90, 92, 94, puis on commence l'autre.

03:42 S1: Nous avons maintenant le chevauchement sur le fond, et nous pouvons ou non pas, en fait, corriger celui-ci aussi, ce 94. Vous pourriez vous débarrasser de ça aussi, donc il y a un peu plus d'espace " parce que c'est presque comme, il semble que 94 pourrait faire partie de celui-ci aussi. Mais de toute façon, on va fermer, et on fera exactement la même chose ici. Donc on va descendre à ax2 et ax2 fonctionne essentiellement ce bloc. Alors ce que nous ferons, c'est que nous prendrons ax2.yaxes.set_major_locator, puis encore, mticker.MaxNLocator. Alors, assurez-vous d'en tenir compte. Max locator, et puis nbins, nombre de poubelles, et encore une fois, on va juste dire cinq, et ensuite on va élaguer égal à la partie supérieure. Donc, nous n'aurons pas ce chevauchement sur la valeur supérieure aussi.

04:41 S1: Tracez un style différent. Faisons TSLA pour Tesla. Ok. Donc maintenant on a le prix ici, pas plus de chevauchement ici, cool. Et puis en regardant vers le bas ici, où nous avons nos moyennes mobiles, elles doivent encore être fixes, mais pas de problème pour nous. Nous savons comment faire ça, alors nous le ferons. Et tout le reste, à regarder plutôt bien. Alors, sortons de ça. Et finalement, nous faisons la même chose que nous avons fait aux axes 3, et pendant que nous y sommes, allons de l'avant et replacez cette annotation là où elle appartient. Alors mettez en évidence que, Control X, le replacer ici " parce qu'il appartient aux axes 2. Je voulais juste l'amener là-bas pour vous montrer que pas toujours vous allez pouvoir écraser des choses. De toute façon, ax3.yaxes.set_major_locator, et ensuite ici, nous avons mis mticker.MaxNLocator. Et comme d'habitude, nous allons juste faire le nbins= 5, et tailler la partie supérieure, supérieure.

05:47 S1: Ok. Donc nous pouvons maintenant, allons de l'avant et économisons et faisons ça, allons à nouveau à Tesla. Bien. Nous l'avons fait maintenant, et nous semblons encore avoir un léger chevauchement. Si vous le faites gros, vous n'avez pas vraiment ce chevauchement, mais peut-être vous voulez vous débarrasser de ... Vous pouvez vous débarrasser de la plus basse ici aussi. On dirait presque que nous n'avons même pas élaguer la partie supérieure sur les moyennes mobiles. Il devrait être juste ici, je suppose, et ce serait bien des chevauchements. Quoi qu'il en soit, nous savons que nous l'avons fait parce que nous avons fixé les poubelles à cinq, et nous n'avons que quatre valeurs ici. N'importe qui. Alors fermant de là, c'est essentiellement ça pour nettoyer le graphique. Nous n'avons pas nécessairement besoin de faire beaucoup plus pour nettoyer le graphique, en plus de ce chevauchement. Mais par exemple, faisons un complot, faisons un autre stock. Faisons GOOG pour Google. Et vous pouvez voir ici, il n'y a pas de problème de chevauchement qui se passe nécessairement là, ou nous pourrions retourner à ... Faisons de nouveau Exxon et voyons ce que Exxon fait pour nous. Donc voici Exxon, et ce n'est pas vraiment un problème ici, non plus.

07:02 S1: De toute façon, nous avons tout le nettoyage qui se passe là-bas. Et maintenant ce que nous voulons être capable de faire c'est que nous regardons ce graphique, disons, et ensuite nous décitons, "Hé, je veux zoomer sur ce point." Nous voulons être en mesure de zoomer sur ce point et d'avoir tout ensemble. Donc on va ajouter que "partager des axes X" à ce graphique, et nous manquons aussi un peu de volume ici. Donc en ajoutant un autre ... Le volume n'est pas vraiment un indicateur, mais c'est un autre point de fixation des prix. Ou pas le point de tarification, mais c'est l'information sur le stock. Donc on veut ajouter du volume, et il y a un truc sympa que nous pouvons faire et montrer avec Matplotlib quand on ajoute du volume. Nous allons donc ajouter ces deux choses au fur et à mesure que nous avanterons. Et puis nous parlerons de légendes aussi parce que nous n'avons aucune légende ici. Donc c'est ce que vous devez regarder vers l'avant, alors restez à l'écoute pour ça. Merci d'avoir regardé.