Graphiques de séries temporelles

Image-Charts has no date axis. A time series is an ordinary line chart. You send the values in chronological order with chd, then write the x-axis labels yourself with chxl. Nothing in the API parses a date, so the labels are plain text and the points are always spaced evenly.

Comment tracer une série temporelle ?

Quatre paramètres suffisent : le type de graphique, les valeurs, les axes à tracer et les étiquettes qui vont dessous.

  1. Set cht=lc for a line chart.
  2. Send the values with chd=a:, oldest first. The a: format takes floating point numbers with no upper bound and scales the axis for you.
  3. Turn on the axes with chxt, where x names the bottom axis and y the left one. Most time series use chxt=x,y.
  4. Write the labels with chxl=0:|Jan|Feb|…, where 0 is the position of that axis in your chxt list.

https://image-charts.com/chart?cht=lc&chd=a:31,42,38,55,61,58,72,80,76,91,88,103&chs=700x300&chxt=x,y&chxl=0:%7CJan%7CFeb%7CMar%7CApr%7CMay%7CJun%7CJul%7CAug%7CSep%7COct%7CNov%7CDec&chls=3&chco=1F3B99&chg=1,1&chtt=Signups+per+month

Graphique en courbes de douze valeurs mensuelles avec chaque mois nommé sous l'axe x
Douze valeurs et douze étiquettes. L'ordre des étiquettes suit l'ordre des valeurs, et l'API ne fait aucun calcul de dates de son côté.

Moins d'étiquettes que de points de données

Douze étiquettes sous douze points, c'est souvent trop pour être lisible à la taille du graphique. Donnez moins d'étiquettes à l'axe et Image-Charts les répartit, comblant les intervalles avec des étiquettes vides pour que la première et la dernière restent aux extrémités de l'axe.

Quatre étiquettes de trimestre sur les mêmes douze points mensuels donnent Q1, trois vides, Q2, trois vides, Q3, deux vides, Q4. Vous écrivez quatre étiquettes et l'axe reste aligné sur les données.

https://image-charts.com/chart?cht=lc&chd=a:31,42,38,55,61,58,72,80,76,91,88,103&chs=700x300&chxt=x,y&chxl=0:%7CQ1%7CQ2%7CQ3%7CQ4&chls=3&chco=1F3B99&chg=1,1&chtt=Signups+per+month

Les mêmes douze valeurs mensuelles étiquetées par quatre repères de trimestre répartis le long de l'axe x
Les données sont inchangées. Seules les quatre étiquettes remplacent les douze, et l'espacement est calculé à partir de la longueur de la série la plus longue.

Nommer un axe plutôt que ses graduations

Un axe auquel on donne exactement une étiquette l'utilise comme nom de l'axe plutôt que comme étiquette de graduation. chxl=1:|Signups écrit Signups le long du deuxième axe de la liste au lieu de l'afficher à côté d'une seule graduation. Ajoutez une deuxième entrée pour le même axe et les deux redeviennent des étiquettes de graduation.

https://image-charts.com/chart?cht=lc&chd=a:31,42,38,55,61,58,72,80,76,91,88,103&chs=700x300&chxt=x,y&chxl=0:%7CQ1%7CQ2%7CQ3%7CQ4%7C1:%7CSignups&chls=3&chco=1F3B99&chg=1,1

Graphique en courbes avec des étiquettes de trimestre sur l'axe x et le mot Signups nommant l'axe y
Une seule valeur chxl porte les deux axes, quatre étiquettes pour l'axe 0 et un nom unique pour l'axe 1.

Trous dans une série

Un tiret bas à la place d'une valeur marque ce point comme manquant, si bien que chd=a:31,42,_,55 laisse un trou dans la courbe au lieu de la faire plonger jusqu'à zéro. Cela compte plus sur une série temporelle que partout ailleurs, parce qu'un mois sans mesure n'est pas un mois dont la valeur vaut zéro.

https://image-charts.com/chart?cht=lc&chd=a:31,42,_,55,61,58,72,80&chs=700x260&chxt=x,y&chls=3&chco=1F3B99&chg=1,1&chtt=A+month+with+no+data

Graphique en courbes où le troisième point manque, laissant une rupture visible dans la courbe
La rupture se situe entre le deuxième et le quatrième point. Une valeur vide entre deux virgules produit le même effet que le tiret bas.

Figer l'axe des valeurs

Par défaut, l'axe des valeurs s'ajuste aux données, si bien que la même URL rendue à un mois d'intervalle peut cadrer ses nombres différemment. chxr=<axis_index>,<start>,<end> le fige à la place, et un quatrième nombre définit l'écart entre les graduations. chxr=1,0,120,20 fait aller le second axe de 0 à 120 par pas de 20.

Écrire la plage à l'envers, comme dans chxr=1,120,0, retourne l'axe, ce qu'il vous faut pour un rang ou une position où 1 doit se trouver en haut.

https://image-charts.com/chart?cht=lc&chd=a:31,42,38,55,61,58,72,80,76,91,88,103&chs=700x300&chxt=x,y&chxr=1,0,120,20&chxl=0:%7CQ1%7CQ2%7CQ3%7CQ4&chls=3&chco=1F3B99&chg=0,1

Graphique en courbes dont l'axe y va de zéro à cent vingt par pas de vingt
L'axe part maintenant de zéro et se termine sur un nombre rond, si bien que la même URL rendue le mois prochain cadre toujours les données de la même façon.

Lignes de quadrillage

chg dessine le quadrillage. Ses deux premiers nombres sont les pas en x et en y, les troisième et quatrième une longueur de tiret et une longueur d'espace, comme dans chg=1,1,4,3.

Les deux pas fonctionnent comme des interrupteurs plutôt que comme des espacements. Toute valeur supérieure à 0 et inférieure à 100 active ce quadrillage, et Image-Charts trace les lignes aux graduations qu'il a déjà calculées, si bien que chg=1,1 et chg=20,20 produisent le même quadrillage. Mettre l'un des deux à 0 désactive cette moitié du quadrillage, ce qui explique pourquoi chg=0,1 ne donne que des lignes horizontales.

https://image-charts.com/chart?cht=lc&chd=a:31,42,38,55,61,58,72,80,76,91,88,103&chs=700x300&chxt=x,y&chg=1,1,4,3&chxl=0:%7CQ1%7CQ2%7CQ3%7CQ4&chls=3&chco=1F3B99

Graphique en courbes avec un quadrillage en tirets sur les deux axes
Les deux quadrillages activés, tracés en tirets de quatre pixels avec des espaces de trois pixels. Un quadrillage en tirets reste derrière les données au lieu de leur faire concurrence.

chl n'est pas un paramètre d'axe

Le paramètre qui étiquette un axe est chxl. chl fait autre chose. Sur un graphique à barres, il étiquette les barres, sur un graphique circulaire les parts, et sur un graphique en courbes il laisse l'axe tranquille. Envoyer vos mois dans chl est la raison habituelle pour laquelle une série temporelle revient avec un axe x purement numérique. La documentation de référence décrit les deux.

Tracer une série temporelle

Créer un graphique