Guide des tracés
Un programme qui veut donner un tracé à une personne commence par
Pour les agents : le moyen le plus rapide est
d'envoyer un document de tracé avec POST https://graph-paper.io/plot-link,
ou avec GET https://graph-paper.io/plot-link?doc=<JSON encodé en pourcentage>
depuis un outil qui peut seulement lire une adresse.
Astuces et conseils couvre les raccourcis du quotidien.
Cette page va plus loin : comment Graph Paper décide de ce que signifie une
ligne, la notation des listes et des points sur laquelle reposent les tracés
complexes et — si vous arrivez de Desmos — quelles habitudes se transposent
telles quelles et lesquelles demandent une petite retouche.
Sommaire
- Comment Graph Paper lit une ligne
- Travailler avec les listes et les intervalles
- Indexer, découper et filtrer
- Construire des points et des polygones
- Restreindre ce qui est tracé
- Écrire des formules par morceaux
- Définir les couleurs
- Résumer des données
- Venir de Desmos
- Quand une ligne ne trace rien
Comment Graph Paper lit une ligne
Chaque ligne d'un document est lue comme l'une de trois choses seulement. Savoir
laquelle vous avez écrite explique la plupart des surprises.
| La ligne est | Quand elle ressemble à | Ce que vous voyez |
|---|---|---|
| Une définition | Rien n'est tracé ; le nom devient disponible pour toutes les autres lignes | |
| Des données | Les valeurs sont affichées ; rien n'est tracé | |
| Un tracé | Une série sur le graphique |
Deux autres sortes de lignes changent des valeurs au lieu de les tracer :
une action (a \to a + 1 ) change des variables quand elle s'exécute, et un
ajustement (Y \sim aX + b ) trouve des valeurs de paramètres à partir de
données. Les deux sont décrits dans
Astuces et conseils.
Une définition n'est pas tracée même si elle contient une formule — c'est tout
l'intérêt de la nommer. Pour la voir, ajoutez une seconde ligne qui utilise le
nom :
Une liste seule est une donnée, pas un tracé. L = [1, 2, 3] affiche les
valeurs et ne trace rien — associez-la à quelque chose qui indique où tracer,
comme (L, L^2) .
Travailler avec les listes et les intervalles
Les listes sont la charpente des tracés complexes. Écrivez-en une directement,
ou engendrez-la :
| Vous voulez | Tapez | Vous obtenez |
|---|---|---|
| Une liste littérale | ||
| Un intervalle | les entiers de 1 à 10 | |
| Un intervalle avec un pas | ||
| Une liste transformée | ||
| Une compréhension | ||
| Triée | les valeurs dans l'ordre | |
| Sans doublons | chaque valeur une fois |
L'arithmétique s'applique à chaque élément — [1...5]^2 et la compréhension
ci-dessus sont deux écritures de la même chose. La forme avec puissance est plus
courte ; la compréhension est plus claire dès que l'expression grandit ou
utilise l'indice plusieurs fois.
Les listes se combinent aux paramètres pour tracer toute une famille d'un coup.
Donnez à k un ensemble de valeurs et tracez \sin(kx) — vous obtenez une
courbe par valeur :
Indexer, découper et filtrer
L'indexation commence à 1, et chacune des formes ci-dessous renvoie une liste
lorsque vous lui donnez une liste de positions.
| Vous voulez | Tapez | Notes |
|---|---|---|
| Un élément | Le deuxième élément. | |
| Compter depuis la fin | Le dernier élément. | |
| Une tranche | Les éléments 2 à 4, sous forme de liste. | |
| Seulement certains éléments | Garde les éléments où le test est vrai. | |
| La même chose, détaillée | Utile quand le test ne porte pas sur l'élément lui-même. | |
| Transformer chacun | La forme longue de |
Demander un élément qui n'existe pas donne une valeur indéfinie plutôt qu'une
erreur, et les points construits à partir d'elle sont ignorés au tracé. C'est
délibéré : un mauvais indice ne vide pas tout le tracé.
Construire des points et des polygones
Un couple entre parenthèses est un point, et un point dont les coordonnées sont
des listes est une liste de points. C'est ainsi que se construisent les
nuages de points et les polygones :
| Vous voulez | Tapez |
|---|---|
| Un point | |
| Une liste de points | |
| La distance entre deux points | |
| Le milieu |
Les points acceptent aussi l'arithmétique ordinaire, si bien que le milieu peut
s'écrire \frac{(0,0) + (3,4)}{2} si vous préférez : additionner deux
points additionne leurs coordonnées, et diviser les met à l'échelle.
Relire les coordonnées
Ajoutez .x , .y ou .z à n'importe quel point pour en extraire une
coordonnée :
| Vous avez | Tapez | Vous obtenez |
|---|---|---|
| Un point directement |
L'accesseur s'applique à ce qui a produit le point, il s'enchaîne donc avec
l'indexation : S[2].x est le x du deuxième point d'une liste S .
Sur une liste de points, il donne la colonne entière. Si S = [(0,1), (2,3),
(4,5)] , alors S.x vaut [0, 2, 4] et S.y vaut [1, 3, 5] — sans boucle ni
compréhension. C'est donc la façon naturelle de décomposer un jeu de données
selon un axe puis de le recomposer autrement :
trace les mêmes points avec les axes échangés. Les coordonnées lues ainsi sont
des nombres ordinaires ; elles se combinent librement avec tout le
reste : A.x + A.y vaut 7 .
Pour une forme fermée, rassemblez les sommets dans une liste et passez-la à
\operatorname{polygon} :
Si un sommet de la liste est indéfini, le polygone se coupe à cet endroit au
lieu de combler le trou — un seul sommet indéfini scinde donc un polygone en
deux morceaux plutôt que de tracer une arête erronée en travers.
Restreindre ce qui est tracé
Il y a deux façons de limiter un tracé, et elles répondent à des questions
différentes.
Les accolades restreignent là où la formule est vraie. Placez une condition
entre accolades après n'importe quelle ligne et elle s'applique à toute la
ligne :
Enchaînez-les pour plusieurs conditions, et utilisez une forme encadrée quand
elle se lit mieux :
Les accolades fonctionnent sur toutes les sortes de lignes — fonctions
explicites, courbes implicites, régions et courbes paramétriques :
Une clause where fixe l'intervalle d'un paramètre. Pour les courbes
paramétriques et polaires, c'est elle qui contrôle quelle portion du chemin est
parcourue :
La même clause introduit des variables auxiliaires locales, ce qui garde une
longue formule lisible sans créer de curseurs :
Prenez les accolades quand vous masquez une région du plan, et where quand
vous bornez le paramètre qui trace la courbe.
Écrire des formules par morceaux
Deux écritures fonctionnent, et elles ont le même sens. L'environnement cases
est la notation mathématique conventionnelle :
La forme compacte entre accolades met la condition et la valeur sur une seule
ligne, séparées par un deux-points, avec une valeur de repli finale sans
condition :
Utilisez celle que vous lisez le plus facilement. Quand des branches répètent
une expression, extrayez-la dans une fonction auxiliaire nommée au-dessus pour
que les branches restent courtes.
Définir les couleurs
Les canaux de couleur sont sur une échelle de 0 à 1 :
| Vous voulez | Tapez |
|---|---|
| Rouge | |
| Orange | |
| Gris moyen | |
| Par teinte |
Si vos valeurs de canal sont sur l'échelle habituelle de 0 à 255, utilisez
\operatorname{rgb}_{255} plutôt que de convertir à la main :
Affectez ainsi une couleur à un nom et réutilisez-la dans plusieurs lignes.
Notez que \operatorname{rgb} écrête les valeurs supérieures à 1 : passer
des nombres de 0 à 255 à la mauvaise des deux échoue donc en silence — voir
Venir de Desmos.
Résumer des données
Ces fonctions lisent une liste et renvoient un seul nombre :
| Vous voulez | Tapez |
|---|---|
| Le total | |
| La moyenne | |
| La médiane | |
| Le plus petit, le plus grand | |
| La variance | |
| L'écart type | |
| Le nombre d'éléments |
Pour les distributions, \operatorname{histogram}(L) répartit les valeurs avec
une largeur de classe par défaut de 1, et \operatorname{histogram}(L, 2) fixe
la largeur explicitement. Les boîtes à moustaches se construisent à partir des
données d'un tableau et non d'une formule — choisissez-les dans le contrôle de
type de tracé du tableau.
Une ligne qui réduit une liste à un seul nombre se trace comme une droite
horizontale à cette valeur, ce qui est un moyen rapide de faire apparaître une
moyenne ou un seuil au travers d'un nuage de points.
Venir de Desmos
L'essentiel de ce que vous savez se transpose tel quel. Tout ceci fonctionne
exactement comme dans Desmos — les accolades de restriction, les intervalles
[1...10] , les compréhensions de listes, le filtrage L[L>2] , les accesseurs
.x , l'arithmétique des points, \operatorname{polygon} ,
\operatorname{histogram} , la définition de fonctions avec = , les noms d'une
lettre avec indice, ainsi que les noms de listes et de statistiques
\operatorname{total} , \operatorname{sort} , \operatorname{unique} ,
\operatorname{stdev} , \operatorname{mean} , \operatorname{median} ,
\operatorname{nPr} et \operatorname{nCr} . Les fonctions interactives
aussi : les actions écrites avec \to , le ticker, les actions au clic avec
\mathrm{index} , les points déplaçables, les régressions écrites avec \sim ,
et les gabarits ${a} dans les étiquettes — voyez
Astuces et conseils
pour la mise en place de chacune ici.
Quelques choses diffèrent :
| Dans Desmos | Dans Graph Paper | Pourquoi |
|---|---|---|
| where est la forme générale. | ||
| Les opérations de liste sont des fonctions. | ||
| un type de tracé de tableau | Les boîtes viennent des données tabulées. | |
| le panneau du ticker | ▶ sur une cellule d'action | L'intervalle est une ligne à part entière. |
| clickableInfo sur une ligne | Au clic… dans le menu ⋯ de la cellule | Même syntaxe \to, même index. |
Les propriétés de liste de Desmos — L.\mathrm{total} , L.\mathrm{length} ,
L.\mathrm{min} , L.\mathrm{sort} et les autres — s'écrivent toutes ici sous
forme d'appel de fonction. Seuls les points prennent un point : et
uniquement pour .x , .y et .z .
Celle des couleurs mérite un second regard, car elle échoue en silence. Les
valeurs de canal supérieures à 1 sont écrêtées : une couleur totalement
saturée paraît donc encore correcte, et tout le reste dérive vers le blanc.
| Vous tapez | Vous obtenez | |
|---|---|---|
| rouge | correct — par coïncidence | |
| jaune | vous vouliez orange | |
| blanc | vous vouliez bleu acier | |
| blanc | vous vouliez presque noir |
Prenez \operatorname{rgb}_{255} dès que vos nombres sont sur l'échelle de 0 à
255, et la conversion est faite pour vous.
Une autre différence à connaître : \operatorname{gcd} et
\operatorname{lcm} travaillent dans Graph Paper sur les nombres que vous leur
donnez, alors que Desmos arrondit d'abord ses arguments à des entiers. Si vous
comptez sur cet arrondi, écrivez-le —
\operatorname{gcd}(\operatorname{round}(a), \operatorname{round}(b)) .
L'import s'occupe de tout cela. Ouvrez un graphique Desmos par l'import et
ces conversions sont appliquées pour vous ; le tableau ci-dessus concerne
les formules que vous saisissez vous-même.
Quand une ligne ne trace rien
Parcourez cette liste avant de réécrire la formule.
| Symptôme | Cause probable |
|---|---|
| La ligne affiche des valeurs au lieu d'un tracé | C'est une liste ou une définition, pas un tracé. Ajoutez une ligne qui l'utilise. |
| Un nom de fonction se comporte comme une multiplication | Graph Paper ne connaît pas ce nom et le lit comme un produit. Vérifiez l'orthographe dans les tableaux ci-dessus. |
| Une couleur est ressortie blanche | Les canaux supérieurs à 1 sont écrêtés. Utilisez |
| Une partie de la courbe manque | Une condition entre accolades ou un intervalle where est plus étroit que voulu. |
| Un polygone a un trou | L'un de ses sommets est indéfini, ce qui le scinde en deux. |
| Rien n'apparaît du tout | La fenêtre est peut-être ailleurs — vérifiez les intervalles des axes avant la formule. |
Quelques noms sont réservés aux fonctions intégrées : une ligne comme
\operatorname{mean}(x) = x^2 ne définit donc pas votre propre fonction —
renommez-la si vous avez besoin de l'un de ces noms.
Pour tout le reste, voyez Astuces et conseils ou
Assistance.