TI-84+ Graphing Calculator
Agence web » Actualités du digital » Comment utiliser Python comme calculatrice graphique gratuite

Comment utiliser Python comme calculatrice graphique gratuite

Résumé

  • Python permet la création libre de parcelles, contrairement aux calculatrices graphiques chères et stagnantes.

  • Importez Numpy et Matplotlib pour les tracés linéaires et polynomiaux de base dans Python.

  • SeaBorn vous permet de fabriquer des parcelles statistiques, comme les graphiques à barres, les histogrammes et la régression, avec Python gratuitement.

Les calculatrices graphiques sont pratiques dans les cours de mathématiques et de sciences, mais ils sont chers pour une catégorie qui a très peu changé depuis leur introduction en 1985. Python vous permet de fabriquer gratuitement des tracés d'équations et de graphiques statistiques communs avec les bonnes bibliothèques.

Parcelles de base avec Numpy et Matplotlib

Il est facile de créer des parcelles linéaires et polynomiales de base avec Python. Un avantage est qu'ils seront en contraste avec les calculatrices de base n'offrant que des écrans monochromes, par rapport à la façon dont les calculatrices graphiques ont stagné, quelque chose qui xkcd a souligné. La meilleure façon de le faire est de l'exécution de Python dans le terminal ou un cahier Jupyter. Si vous utilisez le terminal, je recommande d'utiliser Ipython, car il a beaucoup de fonctionnalités pour faciliter l'utilisation interactive et c'est la base d'utiliser Python dans Jupyter.

En rapport

Comment commencer à créer des cahiers interactifs dans Jupyter

Mélangez librement le texte et le code dans vos programmes dans un nouveau style de programmation.

Pour importer Numpy dans votre session ou votre script Python, utilisez simplement cette commande:

        import numpy as np
    

Le raccourcissement de la commande facilitera la saisie.

Vous devez également importer la bibliothèque de tracé Matplotlib. C'est également facile à faire:

        import matplotlib.pyplot as plt
    

Si vous travaillez dans un cahier Jupyter, tous les tracés que vous effectuez apparaîtront dans une fenêtre séparée plutôt que dans le cahier. Vous voudrez peut-être changer cela en affichage en ligne avec une « commande magique »:

        %matplotlib inline
    

Avec ces préliminaires à l'écart, nous pouvons définir nos équations pour tracer.

Pour tracer une équation linéaire, n'oubliez pas que la forme de l'interception de la pente est y = mx + b, où « M » est la pente ou la pente de la ligne et « B » est l'ordonnée Y, où elle traverse l'axe y, ou l'axe vertical sur un plan 2D.

Nous allons configurer notre axe X avec la commande np.linspace, qui mettra en place un tableau de valeurs uniformément espacé. Cette commande mettra en place un axe X de 50 points de données entre -10 et 10:

        
np.linspace(-10,10)

Nous stockons la pente dans une variable. Nous pourrions le mettre directement dans la formule, mais l'utilisation de variables nous permettra de modifier plus facilement les valeurs. Nous utiliserons la variable « M » pour notre pente, qui sera de 3,5:

        m = 3.5
    

Nous utiliserons « B » pour notre interception Y:

        b = 5
    

L'axe y multipliera chaque valeur de x par la pente et ajoutera l'interception x: y

        y = m*x + b

Maintenant, nous ferons notre complot:

        plt.plot(x,y)
plt.grid()

La commande plt.plot () appelle Matplotlib pour tracer les valeurs x et y, et la commande plt.grid () crée une grille derrière le tracé afin que nous puissions voir les axes plus clairement.

Vous pouvez tracer une équation quadratique en utilisant une méthode similaire. Une équation quadratique classique est ax² + bx + c. Nous pouvons définir des variables pour A, B et C ainsi que pour créer un axe X:

        
x = np.linspace(-10,10)
a = 1
b = 2
c = -3
y = a*x**2 + b*x + c
plt.plot(x,y)
plt.grid()

Alors que dans l'algèbre, la multiplication est implicite, comme « AX », dans Python, vous devez la définir explicitement. Par exemple:

** est également l'opérateur d'exposant dans Python. Ainsi x² en python est écrit comme x ** 2.

Les polynômes de degrés plus élevés, tels que cubique (en cubes) et quartique (élevé à la quatrième puissance), fonctionnent de manière similaire.

Créer des parcelles algébriquement avec Sympy

Une alternative à l'utilisation de Numpy est Sympy, une bibliothèque d'algèbre informatique pour Python. SYMPY fonctionne sur les symboles de la façon dont une calculatrice numérique ou un programme Python ordinaire fonctionne sur les nombres. Pour graphiquement, Numpy offre un moyen plus concis de définir des équations, similaire à la façon dont vous travailleriez avec eux en utilisant le crayon et le papier.

Vous pouvez installer Sympy avec PIP:

        pip install sympy
    

Pour travailler avec Sympy, vous devez l'importer et définir des variables symboliques. Sympy inclut un script appelé Isympy que vous pouvez exécuter à partir du terminal qui le charge et définit certaines variables communes comme X et Y pour vous, configure assez imprimée, puis démarre une session interactive. Vous pouvez également le configurer dans un cahier Jupyter ou une session Python interactive régulière:

        from sympy import *
x = symbols('x')
init_printing()

Cela indique à Python d'importer Sympy dans l'espace de noms principal, de définir une variable x symbolique et de configurer « Pretty Imprimed ». Cela rendra la sortie plus comme elle le fait dans un manuel de mathématiques. Les variables symboliques doivent être définies avant de pouvoir les utiliser avec Sympy.

Nous pouvons utiliser des variables régulières pour les coefficients comme nous l'avons fait avec Numpy. Tracons l'équation linéaire de plus tôt en utilisant Sympy:

        m = 3.5
b = 5
plot(m*x + b,(x,-10,10))

La fonction de tracé crée un tracé 2D avec la forme d'interception de pente de l'équation, et la partie (x, -10,10) spécifie la plage du graphique, entre les valeurs x de -10 et 10. Ce sera également la plage par défaut si vous omettez cette section. Notez que les axes sont directement dans le graphique.

N'oubliez pas de fermer toutes les parenthèses. Ipython et Jupyter vous aideront en mettant en évidence les parenthèses lorsque vous les tapez.

Les quadratiques et autres polynômes fonctionnent de la même manière:

        a = 1
b = 2
c = -3
plot(a*x**2 + b*x + c,(x,-10,10))

Faire des parcelles statistiques

En plus de tracer des lignes et des courbes, Python peut être utilisé pour fabriquer des parcelles statistiques. Bien sûr, vous pouvez le faire dans une feuille de calcul comme Excel, LibreOffice Calc ou Google Sheets, mais je trouve que la sortie semble plus agréable de cette façon que d'utiliser une feuille de calcul.

Dans cette section, nous utiliserons la bibliothèque Seaborn, que j'ai couverte précédemment, pour visualiser les données statistiques avec Python comme vous le feriez avec une calculatrice graphique dans une classe de statistiques.

En rapport

Comment j'explore et visualise les données avec Python et SeaBorn

Faire des intrigues est plus facile et mieux que vous ne le pensez avec Seaborn.

Vous pouvez l'installer avec PIP:

        
pip install seaborn

Importons SeaBorn dans notre session Ipython ou notre carnet de jupyter.

        
import seaborn as sns

Comme pour Numpy plus tôt, l'importation de cette façon économisera sur la frappe.

SeaBorn a plusieurs ensembles de données inclus avec lesquels jouer. Nous utiliserons un ensemble de données de conseils dans les restaurants de New York:

        
tips = sns.load_dataset('tips')

Nous pouvons voir les colonnes de notre ensemble de données, qui se trouve sous le format d'un Pandas DataFrame, similaire à une feuille de calcul, en utilisant la fonction Head ():

        
tips.head()

Vous pouvez même importer vos propres données de feuille de calcul à partir d'Excel ou d'un autre programme. Par exemple, pour lire un fichier CSV:

        import pandas as pd
data = pd.read_csv("/path/to/data.csv")

Avec les données chargées, nous pouvons commencer à les regarder. Pour voir un graphique à barres simples de la facture totale pendant les jours de la semaine, utilisez la fonction Catplot:

        sns.catplot(x='day',y='total_bill',kind='bar',data=tips)
    

Un autre tracé utile est un histogramme, qui montre la distribution des données. Pour voir les quantités les plus fréquentes pour les conseils, utilisez la fonction déplorante:

        sns.displot(x='tip',data=tips)

Un boîtier à boîte, ou plus correctement un tracé de boîte et de moustache, vous aidera à visualiser la plage de vos données. Regardons à nouveau la facture totale, mais modifions le type d'un graphique à barres à un boîtier à boîte:

        sns.catplot(x='day',y='total_bill',kind='box',data=tips)
    

Les cases montrent les 50% moyens, ou médian, de chaque catégorie, représentés par la ligne au milieu, tandis que les lignes en haut et en bas, les «moustaches», représentent les valeurs maximales et minimales.

Une manière puissante de regarder les données est par les introductions à dispersion et la régression. Un diagramme de dispersion examine une variable indépendante sur l'axe des x par rapport à une variable dépendante de l'axe y pour voir s'il y a une relation.

Voyons comment les conseils des restaurants sont liés à la facture totale.

        sns.relplot(x='total_bill',y='tip',data=tips)
    

Remarquez comment les valeurs semblent s'aligner le long d'une ligne droite? Nous pouvons visualiser cela avec une ligne de régression en utilisant la fonction Regplot. C'est essentiellement « Relplot » changé par une seule lettre:

        
sns.regplot(x='total_bill',y='tip',data=tips)

Vous verrez la ligne superposée au diagramme de dispersion d'origine. Vous pouvez effectuer une analyse de régression plus formelle pour déterminer la quantité de corrélation, mais cela semble déjà être un bon ajustement en examinant la ligne par rapport aux points de données.


Bien que vous puissiez toujours vous accrocher à votre calculatrice graphique pour les examens, lorsque vous faites vos devoirs, en explorant les données ou même en gâchant, les parcelles de python sont plus belles et sont également gratuites. Vous n'avez pas besoin d'être un nerd mathématique pour apprécier cette valeur.

★★★★★