Dans l’univers Qt, un certain nombre de bibliothèques permettent de créer des graphiques : Qwt est l’une des plus anciennes et est entièrement libre, Qt 5.7 propose le module Qt Charts (anciennement commercial, mais libéré avec Qt 5.7), parmi les plus connues. QCustomPlot n’est dans le paysage que depuis peu, mais propose déjà un bel ensemble de fonctionnalités (les premières versions sont sorties dès 2011, avec une maturité vers 2013).

La version 2.0 s’approche très rapidement, sa Beta est maintenant disponible. L’interface publique change quelque peu par rapport aux versions précédentes et n’est toujours pas fixée. Cette nouvelle version propose un très grand nombre de nouvelles fonctionnalités ; notamment, la gestion des marques sur les axes a été complètement repensée, avec la classe QCPAxisTicker : elle gère tout l’affichage de ces marques (les coordonnées et les étiquettes associées). Auparavant, QCustomPlot laissait très peu de choix : soit les étiquettes étaient numériques (ou des dates, mais avec de nombreuses limitations), soit elles étaient entièrement spécifiées par l’utilisateur. Maintenant, l’API propose une grande flexibilité à ce niveau.


La gestion des données a été unifiée à travers la classe QCPDataContainer, qui propose une interface unique pour accéder aux données. Sa performance et son utilisation de mémoire ont été considérablement améliorées pour les cas les plus courants, notamment pour l’ajout et la suppression d’éléments. Aussi, les données peuvent être partagées entre les différents graphiques d’un même type (grâce à l’emploi de QSharedPointer pour donner accès aux structures de données).

La sélection d’éléments sur un graphique a été considérablement améliorée, tant pour sélectionner un point qu’une série. L’affichage par OpenGL a été généralisé : la fonctionnalité est maintenant aussi disponible pour Qt 4, à l’aide de la fonction QCustomPlot::setOpenGl. Pour faire suite à Qt 5.6, les écrans à haute densité de pixels sont gérés (uniquement avec Qt 5).

Également, les types de graphiques existants ont été améliorés. QCPStatisticalBox peut maintenant afficher une série de boîtes (et non une seule). L’affichage de barres d’erreur est maintenant effectué par QCPErrorBars (au lieu d’être une option de QCPGraph).

Télécharger QCustomPlot 2.0.0 Beta.

Source : QCustomPlot 2.0.0 beta phase started! (dont image), liste des changements.