QtiPlot

QtiPlot est un logiciel de traitement et de visualisation de données.

La volonté affichée est de fournir une alternative libre (licence GNU General Public License) à des logiciels similaires mais propriétaires et payants tels que: Origin, SigmaPlot ou encore Regressi.

Depuis les dépôts

QtiPlot est disponible dans les dépôts Universe. Il suffit d'installer le paquet qtiplot.

À noter que la version de QtiPlot disponible dans les dépôts n'est généralement pas la dernière version disponible.

Depuis le site officiel (payant)

Il est possible de télécharger la dernière version de QtiPlot (sous la forme d'un paquet) depuis le site officiel.

Bien que QtiPlot soit libre (licence GNU General Public License), les paquets disponibles sur le site officiel sont payants. Les tarifs sont disponibles à l'adresse : http://soft.proindependent.com/pricing.html.

Se référer au site officiel pour l'installation des paquets officiels : http://soft.proindependent.com/qtiplot.html.

Préparation

S'il existe une compilation/installation qui n'est pas triviale, c'est bien celle de QtiPlot. Mais ce grapheur est tellement adapté à la production de documents scientifiques qu'il est important de s'y pencher. Précisons que la compilation s'est effectuée correctement avec Ubuntu 10.04 LTS et Ubuntu 10.10, mais que la méthode décrite ci-dessous est relative aux dernières version (Ubuntu 10.10 et 11.04).

Installation des dépendances

  • QtiPlot peut se compiler sans le support des scripts Python mais il lui faut absolument muParser !
  • Il se peut que vous ayez besoin d'autres paquets que ceux indiqués ci-dessus.
  • Les traductions ne sont pas mises à jour.

Commençons par installer les bibliothèques nécessaires à la compilation : libboost-all-dev libgsl0-dev libqt4-dev docbook-utils dblatex libpng12-dev libtool zlib1g-dev qt4-dev-tools python-all-dev libxext-dev libqtassistantclient-dev libmuparser-dev python-qt4-dev python-sip-dev pyqt4-dev-tools.

Pour info :

  • zlib permet de compresser les fichiers projets de QtiPlot,
  • gsl est une librairie de manipulation de données scientifiques (nombres complexes, FFT, intégration, interpolation, etc.),
  • libpng est utilisé pour l'export des graphes au format png. Nécessite zlib.
  • muParser est obligatoire, c'est le langage de script par défaut. Il est très adapté aux traitement mathématiques
  • python est optionnel, mais conseillé…
D'ailleurs pour pouvoir bénéficier de l'édition de vos scripts en python, il faut OBLIGATOIREMENT installer ces versions de sip et de PyQt.

Si, par contre, vous n'avez pas besoin de python, alors n'oubliez pas de commenter la ligne suivante du fichier build.conf :

#  SCRIPTING_LANGS += Python

Installation des parties tierces

Créez un répertoire QtiPlot :

mkdir QtiPlot
cd QtiPlot

Ce répertoire est important. Nous décompresserons tous les autres logiciels dedans !!!

Nous allons maintenant compiler ces parties tierces :

  • tamu anova, une extension à la bibliothèque gsl pour l'analyse de la variance
  • QTeXEngine, une bibliothèque qui permet de coder des formules latex et d'exporter les graphes au format .tex.
  • algLib, une bibliothèque de traitement de données, complémentaire à gsl. ATTENTION : il ne faut pas utiliser la dernière version, mais la 2.6.0.

Compilation de tamu_anova

wget http://www.stat.tamu.edu/~aredd/tamuanova/tamu_anova-0.2.tar.gz
tar xvzf tamu_anova-0.2.tar.gz
cd tamu_anova-0.2
./configure 
make

Compilation de QTeXEngine

cd ..
wget http://download.berlios.de/qtiplot/QTeXEngine-0.3-opensource.zip
unzip QTeXEngine-0.3-opensource.zip
cd QTeXEngine
qmake
make
sudo cp ./src/QTeXEngine.h /usr/local/include
sudo cp ./libQTeXEngine.a /usr/local/lib

Compilation de AlGlib

cd ..
wget https://www.alglib.net/translator/re/alglib-2.6.0.cpp.zip
unzip alglib-2.6.0.cpp.zip
cd cpp
chmod +x build
./build gcc

Vous devez avoir l'arborescence suivante :

QtiPlot
     |-- tamu_anova-0.2
     |-- QTexEngine
     |-- cpp

Compilation de QtiPlot

Téléchargez QtiPlot sur le site de proindependant. La dernière version est la 0.9.8.6. Décompressez l'archive dans ce répertoire QtiPlot. Ce répertoire (qtiplot-0.9.8.6) est appelé QTI_ROOT dans le fichier de configuration ci-dessous. Désormais, vous devez avoir une arborescence du genre :

QtiPlot
     |-- tamu_anova-0.2
     |-- QTexEngine
     |-- cpp
     |-- qtiplot-0.9.8.6
     

Si vous avez déjà compilé d'anciennes version de QtiPlot (par exemple la 0.9.8.5), elles doivent aussi apparaître dans ce répertoire QtiPlot.

Modification du fichier qwtplot3d.pro

Éditez le fichier 3rdparty/qwtplot3d/qwtplot3d.pro et rajouter la ligne suivante à la ligne 17 :

unix:CONFIG  += staticlib

Configuration du fichier build.conf

Il faut ensuite créer un fichier build.conf dans QTI_ROOT à partir d'un fichier exemple fourni build.conf.example. Voici le fichier de l'auteur de cette documentation :

isEmpty( QTI_ROOT ) {
  message( "each file including this config needs to set QTI_ROOT to the dir containing this file!" )
}

##########################################################
##     System specific configuration
##########################################################

SYS_INCLUDEPATH = -I/$$QTI_ROOT/tmp/qtiplot
SYS_LIBS = -L/opt/local/lib

MUPARSER_INCLUDEPATH = /usr/include/muParser
MUPARSER_LIBS = -lmuparser
GSL_LIBS = -lgsl -lgslcblas

QWT_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwt/src
QWT_LIBS = $$QTI_ROOT/3rdparty/qwt/lib/libqwt.a

QWT3D_INCLUDEPATH = $$QTI_ROOT/3rdparty/qwtplot3d/include
QWT3D_LIBS = $$QTI_ROOT/3rdparty/qwtplot3d/lib/libqwtplot3d.a

ZLIB_INCLUDEPATH = $$QTI_ROOT/3rdparty/zlib/

QUAZIP_INCLUDEPATH = /usr/local/include/quazip
QUAZIP_LIBS = -lquazip

TEX_ENGINE_LIBS = ../../../QtiPlot/QTeXEngine/libQTeXEngine.a
TEX_ENGINE_INCLUDEPATH = ../../../QtiPlot/QTeXEngine/src

TAMUANOVA_INCLUDEPATH = ../../tamu_anova-0.2/
TAMUANOVA_LIBS = ../../tamu_anova-0.2/libtamuanova.a

LIBPNG_LIBS = -lpng

ALGLIB_INCLUDEPATH = ../../../../QtiPlot/cpp/src
ALGLIB_LIBS = ../../../QtiPlot/cpp/out/libalglib.a

##########################################################
## python - only used if python is needed
##########################################################

# the python interpreter to use
# (unix only, windows will use what ever is configured to execute .py files!)
PYTHON = python

##########################################################
## Qt tools - allows to use specific versions
##########################################################

LUPDATE = lupdate
LRELEASE = lrelease

############################################################
##  Target specific configuration: configure Qtiplot itself
############################################################

contains( TARGET, qtiplot ) {
# building without muParser doesn't work yet
  SCRIPTING_LANGS += muParser
  SCRIPTING_LANGS += Python

# a console displaying output of scripts; particularly useful on Windows
# where running QtiPlot from a terminal is inconvenient
#  DEFINES         += SCRIPTING_CONSOLE
#  DEFINES		  += XLS_IMPORT

#DEFINES         += QTIPLOT_PRO

# Uncomment the following line if you want to perform a custom installation using the *.path variables defined in ./qtiplot.pro.
# CONFIG          += CustomInstall

# Uncomment the following line if you want to build QtiPlot as a browser plugin (not working on Internet Explorer).
#CONFIG          += BrowserPlugin
  
  CONFIG          += release
#  CONFIG          += debug
}

Compilation

Voilà, a priori, vous êtes parés pour la compilation de QtiPlot. Se mettre dans QTI_ROOT puis :

qmake qtiplot.pro
make

La compilation vous crée un fichier exécutable nommé qtiplot qui se trouve dans QTI_ROOT/qtiplot. Vous pouvez installer ce binaire plus les docs, traductions et pages de manuel avec la commande :

sudo make install

Bon courage…

Ce qui ne fonctionne toujours pas :
  1. Le plugin pour firefox
  2. La mise à jour des traductions

Problèmes connus

  • QtiPlot pose plein de soucis lorsque l'on n'a pas bien installé les parties tierces. Attention donc à être bien rigoureux.
  • Un make clean provoque l'erreur suivante :

make[1]: entrant dans le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »

  make[1]: *** Pas de règle pour fabriquer la cible « clean ». Arrêt.
  make[1]: quittant le répertoire « /home/raoul/QtiPlot/qtiplot-0.9.8.4/manual »
  make: *** [sub-manual-clean] Erreur 2

Pour la contourner, modifier le fichier QTI_ROOT/qtiplot.pro en commentant (avec un #), la ligne N°4 qui débute par manual

  • Au démarrage, QtiPlot vous propose d'aider le développeur en faisant une donation puis vous dirige vers le site WEB. Après avoir fait un don, vous pouvez supprimer ces deux fonctionnalités : commentez la ligne N°15958 du fichier ApplicationWindow.cpp avec deux barres obliques ainsi que la ligne N°61 du fichier QtiPlotApplication.cpp qui se trouvent dans QTI_ROOT/qtiplot/src/core/.
  • Il se peut que vous ayez une erreur indiquant que le fichier sipAPIqti.h est manquant; en particulier lors de la compilation qui supporte les scripts Python. Dans ce cas, placez vous dans le répertoire QTI_ROOT/qtiplot et faites un qmake puis revenez dans QTI_ROOT et relancer la compilation.

Un excellent manuel se trouve ici. Il est aussi fourni sous forme PDF avec les sources.

Version installée via un paquet

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

Version installée depuis les sources

Se placer dans le répertoire où vous avez décompressé QtiPlot (appelé QTI_ROOT plus haut) puis :

sudo make uninstall

Contributeurs : Volfoni54.

  • qtiplot.txt
  • Dernière modification: Le 11/09/2022, 11:49
  • par moths-art