Ceci est une ancienne révision du document !
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.
Installation du binaire
Prérequis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
- Avoir activé l'accès aux dépôts Universe et Multiverse.
Installation depuis les dépôts
Depuis Ubuntu 7.10 (Gutsy Gibbon), QtiPlot est disponible dans les dépôts Universe.
Il suffit alors d'installer le paquetqtiplot.
La version de QtiPlot disponible dans les dépôts n'est généralement pas la dernière version disponible.
Installation de la dernière version depuis le site officiel (Payant)
Il est possible de télécharger la dernière version de QtiPlot (sous la forme de paquets) depuis le site officiel.
Se référer au site officiel pour l'installation des paquets officiels : http://soft.proindependent.com/qtiplot.html.
Installation à partir des sources
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 me semble important de s'y pencher. Précisons que la compilation s'est effectuée correctement avec Jaunty (9.04), Lucid (10.04) et Maverick (10.10). C'est parti :
Installation des dépendances
Commençons par installer les bibliothèques manquantes mais disponibles dans Jaunty, Lucid et Maverick : libboost-all-dev,libgsl0-dev,libqt4-dev,docbook-utils,dblatex,libpng12-dev,libtool,zlib1g-dev,qt4-dev-tools,python-all-dev,libxext-dev,libqtassistant-dev.
- 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.
- Il se peut que vous ayez besoin d'autres packages que ceux indiqués ci-dessus.
- Les traductions ne sont pas mises à jour.
Installation de la librairie libEMF
> cd /tmp/ > wget http://downloads.sourceforge.net/project/libemf/libemf/1.0.4/libEMF-1.0.4.tar.gz > tar xvzf libEMF-1.0.4.tar.gz > cd libEMF-1.0.4 > ./configure; make; sudo make install
Installation de la librairie Quazip
> cd /tmp/ > wget http://downloads.sourceforge.net/project/quazip/quazip/0.3/quazip-0.3.tar.gz > tar xvzf quazip-0.3.tar.gz > cd quazip-0.3 > qmake ; make; sudo make install
Installation de muParser (>=1.32)
> cd /tmp/ > wget http://downloads.sourceforge.net/project/muparser/muparser/Version%201.34/muparser_v134.tar.gz > tar xvzf muparser_v134.tar.gz > cd muparser_v134 > ./configure; make; sudo make install
Installation de la dernière version de sip (>=4.11)
> cd /tmp/ > wget http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.12.1.tar.gz > tar xvzf sip-4.12.1.tar.gz > cd sip-4.11.1/ > python configure.py; make; sudo make install
Installation de la dernière version de PyQt (>=4.7)
Attention : ce logiciel nécessite sip-4.12 et sa compilation est assez longue
> cd /tmp/ > wget http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz > tar xvzf PyQt-x11-gpl-4.7.7.tar.gz > cd PyQt-x11-gpl-4.7.7 > python configure.py; make; sudo make install
Installation des dépendances tierces
Créez un répertoire QtiPlot :
> mkdir QtiPlot > cd QtiPlot
Ce répertoire est important. Nous décompresserons les autres logiciels dedans !!!
Nous allons maintenant compiler toutes ces bibliothèques
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
QTexEngine permet d'utiliser LaTeX dans QtiPlot.
> cd .. > wget http://download.berlios.de/qtiplot/QTeXEngine-0.3-opensource.zip > unzip QTeXEngine-0.3-opensource.zip > cd QTeXEngine > qmake > make
Compilation de AlGlib
> cd .. > wget http://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.5. Décompressez l'archive dans ce répertoire QtiPlot
. Ce répertoire (qtiplot-0.9.8.5) 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.5
Si vous avez déjà compilé d'anciennes version de QtiPlot (par exemple la 0.9.8.4), elles doivent aussi apparaitre 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
Modification du fichier qtiplot/qtiplot.pro
Commentez les lignes 232 à 242 :
232 #QT += sql 233 #LIBS += src/plugins/libQtiPlotdBasePlugin.a 234 #LIBS += src/plugins/libQtiPlotDatabasePlugin.a 235 #LIBS += src/plugins/libQtiPlotCsvPlugin.a 236 #LIBS += src/plugins/libQtiPlotTexPlugin.a 237 #LIBS += src/plugins/libQtiPlotOdsPlugin.a 238 #LIBS += src/plugins/libQtiPlotExcelPlugin.a 239 #LIBS += src/plugins/libQtiPlotOriginPlugin.a 240 #LIBS += src/plugins/libQtiPlotEmfExportPlugin.a 241 #LIBS += ../3rdparty/quazip/lib/libquazip.a 242 #LIBS += ../3rdparty/EmfEngine/libEmfEngine.a
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 mien :
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/local/include MUPARSER_LIBS = -lmuparser GSL_LIBS = -lgsl -lgslcblas #BOOST_LIBS = -lboost_date_time-mt -lboost_thread-mt 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/ #XLS_INCLUDEPATH = /usr/local/ExcelFormat #XLS_LIBS = -L/usr/local/ExcelFormat/ -lbasicexcel QUAZIP_INCLUDEPATH = /usr/local/include/quazip QUAZIP_LIBS = -lquazip TEX_ENGINE_LIBS = ../../../QtiPlot/QTeXEngine/libQTeXEngine.a TEX_ENGINE_INCLUDEPATH = ../../../QtiPlotQTeXEngine/src TAMUANOVA_INCLUDEPATH = ../../tamu_anova-0.2/ #TAMUANOVA_INCLUDEPATH = $$QTI_ROOT/3rdparty/tamu_anova/ TAMUANOVA_LIBS = ../../tamu_anova-0.2/libtamuanova.a # include path. leave it blank to use SYS_INCLUDE #LIBORIGIN_INCLUDEPATH = $$QTI_ROOT/../liborigin/liborigin2 # link statically against a copy in 3rdparty/ #LIBORIGIN_LIBS = $$QTI_ROOT/../liborigin/liborigin2/liborigin2.a #LIBORIGIN_LIBS = -lorigin2 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…
1. Le plugin pour firefox
2. La mise à jour des traductions
Soucis
- 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 shlashes ainsi que la ligne N°61 du fichier QtiPlotApplication.cpp qui se trouvent dans QTI_ROOT/qtiplot/src/core/.
Utilisation
Un excellent manuel se trouve ici. Il est aussi fourni sous forme PDF avec les sources.
Désinstallation
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