NOM
Mgraph
Mgraph [options] [command file]
DESCRIPTION
Mgraph est un logiciel de tracé permettant une visualisation et une mise en page rapide de
données scientifiques présentées sous forme de fichiers ASCII pour les courbes classiques, sous forme
de fichiers binaires pour les données de surfaces.
L'interface a été développée sous Motif. Elle peut être utilisée
soit interactivement [page pageref],
soit à l'aide de fichiers de commandes [page pageref],
soit à partir de programmes C ou Fortran [page pageref].
Les fichiers de sorties sont en PostScript. Des images en format Tiff ou Gif peuvent
aussi être générées.
Mgraph [options] Lancement de l'interface Motif. Mgraph [options] file.com Lancement de l'interpréteur graphique sans visualisation.
OPTIONS
Mgraph*FontList: "-Adobe-Courier-Bold-r-Normal-*-12-*-*-....." |
**********************************************************
Chapitre 1
MODE INTERACTIF
**********************************************************
Remarques préliminaires
*
Lors de l'installation de Mgraph sur votre machine,
l'administrateur système a placé le fichier
Mgraph.ad dans le répertoire système:
/usr/lib/X11/app-defaults. |
Vous avez aussi la possibilité de le modifier et de l'exécuter
en local en utilisant la commande:
xrdb -merge Mgraph.ad |
* L'option -zoom peut être intégrée dans le fichier Mgraph.ad;
pour cela, il suffit de modifier la ligne:
Mgraph_bin*zoom: 100 |
Mgraph*FontList: ``-Adobe-Courier-Bold-r-Normal-*-12-*-*-*-*-*-*-*'' |
Dans les panels, utilisez le bouton de gauche de la souris pour sélectionner les options, activer
les boutons ou pour pointer une position sur demande du logiciel.
Toute chaîne de caractères dans un
éditeur peut être sélectionnée à l'aide du même bouton puis recopiée dans une autre
fenêtre à l'aide du bouton central.
Dans une fenêtre de tracé:
Lecture simple
Sélection du fichier
Le fichier d'entrée est un fichier ASCII (ou binaire ou TIFF/GIF dans le cas d'un tracé de
contours) contenant des nombres en colonnes séparés par des espaces, virgules ou tabulations. La
procédure de lecture réalise un filtrage des données en sautant automatiquement les lignes
contenant du texte et détermine le nombre de lignes et de colonnes à tracer.
Le répertoire de travail est montré dans l'éditeur en haut de la fenêtre. Vous pouvez taper directement un nouveau répertoire dans l'éditeur ou utiliser la souris pour naviguer dans l'arborescence des fichiers Unix.
vous tapez: | vous obtenez en tête de liste: | |
*data | tous les fichiers finissant par ``data''. | |
data* | tous les fichiers commençant par ``data''. | |
*data* | tous les fichiers ayant ``data'' dans leur nom. |
Vous pouvez utiliser l'une des combinaisons suivantes:
Dans ce cas, les courbes s'ajoutent dans la fenêtre graphique.
L'option ``Keep curve setting'' permet de tracer les courbes avec les options définies par le
précédent tracé, c'est à dire la couleur, les styles de ligne et de marqueur.
L'option ``Keep axis setting'' permet de tracer les courbes dans les limites d'axes précisées
dans le précédent tracé. Afin de conserver ces limites pour des sessions ultérieures, il suffit
d'activer l'option ``Files->Save defaults''.
Description du fichier
Si les champs de ``File description'' ne sont pas remplis, la première colonne est prise comme
étant l'abscisse X et les colonnes suivantes comme différents jeux de coordonnées Y.
Si le fichier ne contient qu'une seule colonne, OU si
le champ ``X column'' vaut zéro, les données de la colonne Y seront représentées
en ordonnées et l'abcisse sera un incrément de 1 à n (nombre de points tracés).
En remplissant les éditeurs proposés vous pouvez:
Type des données
La sélection du type de courbe: menu ``Line plot''
Line plot | Tracé sans marque; les points sont joints par une droite. |
Scatter plot | Les points sont représentés par des marques sans droite de liaison. |
Error Bars X | Le fichier est lu comme une séquence de (X, Y, Delta), où Delta est une erreur en X. Une barre horizontale de longueur 2*Delta centrée en X,Y sera tracée. |
Error Bars Y | Même tracé avec des verticales. |
Step plot | Le fichier est tracé en escalier (i.e. Pseudo histogramme). A chaque point une ligne horizontale est tracée au niveau Yn en partant d'un X = [(Xn+Xn-1)/2] jusqu'à X = [(Xn+Xn+1)/2]. |
Type de tracé
La sélection du mode de rangement des données: menu ``New set''
New Set | Nouveau tracé. |
Add mode | Garde la présentation du tracé précédent et ajoute les nouvelles courbes. |
Replace mode | Garde la présentation du tracé et remplace les courbes par de nouvelles. |
Merge mode | Garde la présentation du tracé et rallonge les courbes existantes avec les nouveaux points. |
Filtre sur les données
Column data filter
Un nouveau menu apparaît (Mgraph_column_data_read_filter) qui permet de filtrer les données de manière simple: Si plusieurs filtres sont demandés pour la même colonne, un OR exclusif est utilisé, pour des filtres sur plusieurs colonnes un AND est utilisé. Avant d'effectuer la lecture, il suffit de cliquer sur ``Analyze user filter editor'' pour valider le filtre.
Sélection du type de traitement
La sélection du traitement des données: menu ``Draw selected file''
Draw selected file (Cartesian) | Tracé de fonctions simples y=f(x). |
Draw selected file (Polar) | Tracé de fonctions simples en coordonnées polaires |
Compute histogram of selected file | Trace l'histogramme des différentes colonnes du fichier. (voir page pageref) |
Statistics of selected file | Calcule et affiche des statistiques (Moyenne, écart type etc.) sur les différentes colonnes du fichier. |
Digitalization | Numérisation de courbes à partir d'images de scanner ou à partir d'images visualisées sur l'écran par tout autre logiciel (voir page pageref). |
File preview | Edite le fichier dans une fenêtre ``Mgraph_preview''. |
Draw surface contours | Ce menu permet de lire des surfaces dans différents formats (ASCII, binaire ou TIFF/GIF - voir ci-dessous) et réalise les interpolations permettant de calculer des isocontours et des projections. (voir page pageref) |
Formats de fichiers proposés:
L'option Signed n'est utilisée que pour les mots entiers. Si elle n'est pas validée, l'entier sera non signé. 2 éditeurs Cut values permettent de filtrer les valeurs lues. 2 éditeurs Stretch Z values permettent de modifier les valeurs de Z.
|
Build a surface from XY Data | A partir d'un fichier ASCII contenant des données X et Y, Mgraph constitue une surface en divisant l'espace en boîtes de taille paramétrable et en calculant le pourcentage de points contenus par boîte. |
Import a new lut | Charge la base de l'utilisateur avec une nouvelle table de couleur. (Ces tables ne sont utilisées que par les programmes de contours). Deux formats sont décodés: |
|
Draw arrows | A partir d'un fichier ASCII, lecture de vecteurs caractérisés par leur origine (X et Y ), leur longueur (Rho), leur orientation (Theta) avec possibilité de moduler la taille de la flèche (Length and Arrow factor). |
Si vous avez sélectionné un fichier, activez ``Apply''. Dans le cas
d'une lecture simple, le
résultat sera tracé dans la fenêtre active.
Lecture spécifique
Pour les options suivantes, de nouvelles fenêtres seront affichées:
Compute histogram of selected file |
Vous pouvez définir le type de tracé, les limites de l'histogramme, la largeur des classes, les unités en Y. Attention! si vous modifiez les éditeurs ne pas oublier l'option ``Freeze editor values'' avant d'exécuter ``Apply'' pour éviter le calcul automatique des valeurs.
Digitalization |
Si le fichier sélectionné est un fichier TIFF ou GIF, en activant ``Apply'', ce fichier sera lu et affiché
dans la fenêtre de digitalisation. Sinon vous avez la possibilité en utilisant la fonction
``Grab image from display'' de prendre (``grab'') à l'aide de la souris une image (présentée par un autre logiciel
comme ghostscript par exemple) sur votre écran. La fenêtre sous l'image vous affiche des messages
d'informations et des directives.
N.B. L'image est présentée en noir et blanc. Vous pouvez passer en visualisation couleur
en activant la touche ``Switch image (BW/Color)''
La digitalisation se passe en plusieurs étapes:
Attention ! Le moyennage comme le ré-échantillonnage ne se font que sur la dernière courbe digitalisée.
File preview |
Visualise le contenu du fichier dans une fenêtre et vous permet ensuite de sélectionner, à l'aide de la souris, une (plusieurs) partie(s) du fichier à tracer avec les options existant dans le menu principal du ``Read''
Draw surface contour |
Affiche la surface et permet de sélectionner les différents paramètres de tracé: voir plus loin le menu ``FILES->SURFACE & CONTOUR'' (§1.1.4).
Build a surface from XY Data |
L'utilisateur a la possibilité de gérer différents répertoires (``Main project name'') contenant à la
fois des sauvegardes de tracés et des fichiers de gestion des mises en page réalisées dans une
session.
La liste des répertoires apparaît dans une fenêtre en haut à droite. Il suffit d'en sélectionner un
pour qu'il devienne le répertoire de travail de Mgraph . Son contenu est alors affiché dans la fenêtre
``Main project plot files''. (Si un tracé est utilisé dans une présentation de page, il apparaît comme
ayant un lien [lks: 1]. Voir également le menu ``Settings->Page setting'' (§1.2.6)).
Pour créer un nouveau projet, il faut taper son nom dans l'éditeur et activer ``create new
project''.
Options:
Ce menu permet d'imprimer un tracé ou de créer un fichier en format PostScript, à partir de la fenêtre de tracé ou à partir d'une présentation de page contenant plusieurs tracés.
Options:
LOGO_FILE /usr/my_directory/mylogo.eps |
Remarque: De la même manière, vous pouvez introduire votre propre
signature en bas à droite de la page en modifiant la ligne du fichier
~ /.Mgraph/MgraphDefaults:
taper ceci: | pour obtenir: | |
SIGNATURE | "L.O.A. Computer Team" | Date + signature |
SIGNATURE | " " (Espaces) | Date |
SIGNATURE | "" (Vide) | Rien |
lp -dPRINTER |
Après avoir défini vos imprimantes, activez l'option ``Save defaults'' pour les sauvegarder.
Ce menu permet de traiter des surfaces et de réaliser les interpolations permettant de calculer des isocontours et des projections. Il ne peut être activé que si l'utilisateur a déjà chargé une surface à l'aide des menus ``Files->Read files->Draw surface contours'' ou ``Files->Save & restore->Draw''.
Les menus ``Mgraph_surface_view'' et ``Mgraph_surface_geometry'' apparaissent.
Cette fenêtre permet la visualisation de la surface traitée. Sur la droite un histogramme des
valeurs est tracé. Diverses options réalisent:
Drawing_area->Zoom | Agrandissement d'une partie de l'image. |
Drawing_area->Show values | Affichage des données Z de la surface. |
Drawing_area->Rescale | Affichage de l'image originale |
Color_palette-> | Permet de colorier la surface avec une échelle prédéfinie. |
Color_palette->User Lut Base | Base de fichiers contenant des échelles de couleurs introduites par le menu Read Files ->Import a new LUT. |
Color_palette->Grey scale etc.. | Echelles de couleurs de base de Mgraph (description §1.2.8) |
Objects->Clear all | Efface toutes les options. |
Objects->Draw triangles | Visualise les triangles utilisés dans les interpolations. |
Objects->Draw region | Visualise les régions séparant les points réels des points indéterminés définis ou introduits par les options ``Undefined value'' ou ``X Y Z irregular grid'' du menu de lecture. |
Objects->Draw points | Visualisation des points de mesures. |
Objects->Draw all | Visualise toutes les options. |
permet de modifier:
Ce menu permet de tracer des isocontours. Dès son ouverture le logiciel prédétermine quelques valeurs de contours à tracer. Un ``Apply'' suffit pour lancer le calcul et voir apparaître les courbes dont la présentation peut être modifiée dans le menu ``Settings->Plot settings''.
Pour entrer sa propre liste de valeurs il faut:
Les options de tracé sont déterminées par les différents menus Isoline plot style. Si l'option Current color est choisie, les couleurs sont prédéterminées par le logiciel.
Modification des options de tracé d'un ou de plusieurs isocontours de la liste:
sélectionner les lignes de valeur à la souris puis sélectionner dans les différents menus
les options de tracés (couleur, type de ligne, marqueur, tracé d'un label) puis activer
``Apply new style''... les paramètres sont modifiés dans l'éditeur.
Si les isocontours sont dessinés avec des options de tracé Label vous pouvez, en
utilisant les menus du Label plot style en changer les présentations (taille, couleur, fond,
distance entre 2 labels).
Les modifications apparaissent en activant l'``Apply'' principal du menu.
Ce menu permet de tracer une représentation 3D de la surface présente dans
la fenêtre graphique.
La fenêtre Mgraph_3D_view permet de visualiser la surface qui sera tracée
dans la fenêtre graphique lors de l'activation du bouton ``Apply to main window''.
pour chacun de ces ajouts, cliquer ensuite sur ``Apply to main window''.
2 ascenceurs permettent également de modifier l'amplitude du 3D et sa position dans la fenêtre (cliquer sur ``Show 3D'' pour en constater les effets).
Ce menu permet de repasser en mode 2D. Il faut obligatoirement effacer la configuration 3D pour pouvoir passer à la lecture d'une nouvelle courbe.
Création d'un fichier de commandes le plus proche possible de la présentation réalisée (qu'il s'agisse d'un graphe simple ou d'une mise en page). Il permettra l'utilisation de Mgraph en mode non interactif (voir §2).
Cette option permet de créer un fichier en Encapsulé PostScript afin d'insérer le tracé dans un autre document.
Création d'un fichier ASCII contenant les coordonnées des différentes courbes
visualisées. Vous pouvez relire directement ce fichier avec Mgraph (menu Files->ReadFiles)
pour régénérer des tracés.
Le mot Break permet de rompre la continuité d'une courbe (tracé de fond de cartes par
exemple).
Le mot NewCurve permet de changer de courbe.
Une ligne CURVE NUMBER: .... sépare les différents tracés; elle est automatiquement
sautée par le logiciel à la relecture.
Options:
``Create new file'' exécute l'extraction.
Création d'un fichier (drawing est le nom par défaut) en format TIFF ou GIF représentant la fenêtre de tracé. Cette image sera utilisable par les différents logiciels de visualisation ou par des convertisseurs de format.
Un fichier `` ~ /.Mgraph/MgraphDefaults'' contient vos options préférées:
LOGO_FILE | Myfile.eps | |
LOGO_POSX | 1 | |
LOGO_POSY | 2.7 | |
LOGO_SCAX | 0.14 | |
LOGO_SCAY | 0.14 |
SetSignature | "My signature" |
==========================================================
Ce menu permet de caractériser chacune des courbes visualisées et de modifier quelques fonctions principales de présentation.
Ces options permettent, avec effet immédiat sur la visualisation, de mettre (ou non) des grilles, des labels, une légende, 2 axes ou 4 (``No Frame'') et la surface (``No Background'').
Mise en forme du titre; ce menu peut également être appelé en cliquant simplement sur le titre.
En activant l'option Overlap, les courbes sont présentées ensemble, ce qui permet de modifier en une seule action les paramètres de type:
Si l'option Overlap est désactivée, les courbes vous seront présentées une par une, et vous pourrez alors modifier le type de la courbe, comme précédemment, mais aussi masquer ou supprimer une courbe.
Ce menu permet d'annoter l'ensemble de la fenêtre graphique.
La fenêtre graphique peut être vide de courbe; voir son utilité ci-dessous §1.2.9.
Les différents ajouts possibles sont:
texte, marqueur, ligne, boîte, flèche et tracé d'axe supplémentaire.
Pour chacune de ces annotations, le choix vous est offert:
Pour chacune, il suffit de sélectionner la couleur et le type.
Dans le cas d'annotations multiples,
vous avez la possibilité de conserver le positionnement en X ou en Y. Il suffit ensuite d'ajouter la
sélection (touche ``Add'') et de la positionner à l'aide de la souris dans la fenêtre graphique.
La touche ``Replace'' permet de repositionner l'annotation;
la touche ``Redraw'' permet de redessiner l'annotation sans avoir à la repositionner;
la touche ``Delete'' permet de supprimer l'annotation.
(Voir également au chapitre F.A.Q §3.4 le codage des chaînes de caractères.)
L'annotation ``Extra axis'' permet soit de dessiner un axe supplémentaire, soit de remplacer un des
axes existants par un nouvel axe totalement indépendant des limites de la courbe.
Les éditeurs se
présentent comme dans le menu des axes. La valeur du ``mini'' peut être supérieure au ``maxi''; pour un
axe tracé à la souris, le ``mini'' se trouvera au premier point cliqué. (Voir les exemples dans F.A.Q [3.4])
En activant la touche ``Free labels'', on pourra étiqueter les axes par une liste donnée:
Cette liste se compose d'une valeur sur l'axe, suivie soit d'un texte entre guillemets,
soit d'une valeur indépendante qui sera écrite à travers le format proposé.
Quand des annotations sont créées, vous pouvez appeler directement ce menu en cliquant sur une annotation.
Quand ce menu est appelé, la légende est visualisée dans le coin haut gauche du tracé. Chaque courbe est représentée (sauf les courbes masquées - voir menu ``Plot Setting'' [1.2.1]). Vous pouvez annoter chaque légende, orienter les textes, masquer une légende. La touche ``move legend'' permet à la fois de positionner la légende et d'en fixer la taille.
Ce menu permet d'ajouter une échelle couleur dans la fenêtre graphique.
La fenêtre graphique peut être vide de surface; voir son utilité ci-dessous (§1.2.9).
Deux types d'échelle couleur vous sont proposés:
L'appel de cette option vous permet de tracer rapidement une échelle linéaire de couleurs
Ce menu permet de représenter des valeurs données à l'aide de carrés colorés. Comme pour l'échelle linéaire, le choix est donné entre la représentation en nombre et la représentation par un texte. L'option ``No ticks drawing'' permet cette fois de coller ou non les boîtes entre elles. L'option ``Redraw'' redessine l'échelle, l'option ``Apply'' permet de la (re-)positionner sur le graphe.
Cette option permet d'effacer les échelles de couleur.
Ce menu peut également être appelé en cliquant en bas à gauche des axes (c'est à dire l'origine). Le menu concernant chacun des axes peut être appelé en cliquant au centre de l'axe. Pour chaque axe les éditeurs permettent de fixer:
précision: | nombre de décimales pour les formats f, e et E |
nombre de chiffres pour les formats g et G (6 par défaut) | |
conversion: | g notation universelle (i.e. d, f ou e) |
G notation universelle (i.e. d, f ou E) | |
f notation décimale (i.e. '[-]dddd.ddd') | |
e notation exponentielle (i.e. '[-]d.ddde+dd') | |
E notation exponentielle (i.e. '[-]d.dddE+dd') |
exemple:
12.65978 | %g | Þ 12.6598 |
%f | Þ 12.659780 | |
%.3f | Þ 12.660 | |
%.2e | Þ 1.27e+01 | |
%.0f | Þ 13 | |
%+.1f | Þ +12.7 | |
12.00 | %g | Þ 12 |
Vous pouvez ne pas afficher les labels (``No X-label''), dessiner des tics sur les axes ou des grilles
(standard ou demi-teintes) (``Std grid'').
Vous pouvez également supprimer un axe (``No axis'').
Plusieurs types d'axe sont proposés: linéaire, logarithmique, étalonné en heure:minute ou en degrés décimaux mais également transformé par une équation.
Dans ce dernier cas, les données ne sont en aucun cas altérées, seule leur présentation est
modifiée. Il suffit de taper une formule dans l'éditeur principal. Cette formule sera sauvegardée et une
liste d'équation sera créée (présentée dans le panneau ``Mgraph_formula_list''). Vous pouvez ajuster
le domaine de projection pour éviter par exemple les divisions par zéro. Pour plus de précisions, lire
1.3.2 le menu ``Math->Formula''
Pour chacun des axes, vous pouvez définir l'épaisseur du trait et sa couleur.
Ce menu vous permet de mettre en forme, de manière interactive, une présentation des graphes
sur une page.
Les présentations sont sauvegardées dans la même base que les graphes (voir ``Files
->Save&Restore'' §1.1.2).
Chacune des annotations de page peut être positionnée à l'aide de la souris (Create with
mouse) ou directement en remplissant les éditeurs. Les touches ``Add'', ``Replace'' et ``Delete''
visualisent l'effet immédiatement sur la page.
(Voir au chapitre F.A.Q (§3.4) le codage des chaînes de caractères.)
Pour imprimer la page ainsi constituée, il suffit d'activer le menu ``Files->Print plot''.
La fonction ``Use page setting'' doit être activée.
La page ainsi réalisée peut être exportée sous forme de fichier de commandes pour une production automatique.
Ce menu permet de remplacer les axes par un diagramme formé de cercles et de rayons. Les
options permettent de définir:
Delta Theta | Pas des cercles en degré. |
Delta radius | Pas des cercles en unité du rayon principal. |
Theta list | Liste à choix libre des cercles à tracer en degré. |
Radius list | Liste à choix libre des cercles à tracer en unité du rayon principal. |
Delta phi | Pas des rayons en degré. |
Phi list | Liste à choix libre des rayons à tracer en degré. |
Upper view | Vue de la sphère par-dessus. |
Left side right | L'origine des rayons est à gauche ou à droite. |
Clock wize | Tracé des rayons dans le sens des aiguilles d'une montre. |
Axis formula | Projection utilisant les équations introduites dans la définition des axes. |
Puis les différents paramètres de tracé des labels sur les cercles et les rayons
(couleur, taille et position).
La fenêtre graphique peut être vide de courbe; voir son utilité ci-dessous (§1.2.9).
User LUT base:
A partir de la base de l'utilisateur ( ~ /.Mgraph/USER_LUTS),
ce menu charge une nouvelle table de couleur.
En cliquant sur le fichier, son contenu sera affiché dans la fenêtre de droite.
Les lignes du fichier commençant par le caractère # seront considérées comme des commentaires.
Deux formats sont décodés:
|
Mgraph offre la possibilité de créer une fenêtre SANS COURBE NI SURFACE,
dans laquelle il vous sera possible d'ajouter des annotations, une échelle de couleur, un diagramme circulaire.
Ceci est notamment utile lors de l'utilisation d'un ``Page setting'' (§1.2.6) afin,
par exemple, de présenter une échelle couleur commune à plusieurs images contenues dans différentes
cellules.
Cette fenêtre pourra être sauvegardée comme les fenêtres graphiques classiques.
Elle sera enregistrée sous le nom ``@Annotation window''.
Son échelle est définie par le logiciel comme allant de 0. à 1. en X et en Y.
==========================================================
Les options suivantes sont communes à l'ensemble de ces sous-menus:
La régression se fait en y = f(x) par défaut mais vous pouvez choisir x = f(y).
Vous pouvez aussi choisir de faire une régression sur l'ensemble des courbes (par
défaut, elle est faite courbe par courbe).
Vous pouvez choisir l'intervalle de fit (par défaut, l'ensemble visible du domaine des
abscisses ou des ordonnées si l'option x = f(y) a été choisie).
Les courbes de régression peuvent être ajoutées aux courbes originales ou les remplacer.
Ce menu permet d'exécuter des opérations sur les courbes.
Les opérandes sont xN et yN (où N est le numéro de la courbe), 'pi' et 'x' pour utiliser
les éditeurs du domaine X.
Les opérateurs sont:
' = ' , '+' , '-' , '*' , '/', '%', '**',
'(', ')', '&' (and), '|' (or), '^' (xor).
Les fonctions sont les fonctions mathématiques standard (Voir plus loin ``Options and Specifications''
§2.3). rnd() génère un nombre
aléatoire compris entre 0 et 1.
Vous pouvez générer de nouvelles courbes en remplissant les éditeurs X domain:
exemple: y = sin(x) avec Xstart = 0, Xend = 3.14 et Number of points = 100 puis ``Apply''
vous créera une nouvelle courbe sinusoïdale.
Vous pouvez, de la même manière, ré-échantillonner une courbe existante en tapant dans
l'éditeur d'équation: x1 = x1 et en remplissant les éditeurs X domain.
Toutes les équations que vous aurez tapées sont sauvées et vous sont présentées partout où
vous utiliserez une formule mathématique. Il vous suffira ainsi de sélectionner à l'aide de la
souris la ligne désirée et de la placer dans l'éditeur.
La transformée de Fourier vous permet de filtrer une courbe, en calculant les fréquences les plus
significatives. Chaque composante est affichée avec le coefficient de corrélation calculé entre la
donnée et la FFT inverse en supprimant cette fréquence.
Ce menu vous permet également de supprimer une composante, soit en utilisant comme filtre la
corrélation (Reduce spectrum), soit fréquence par fréquence (Delete a component). A chaque
étape, le signal inverse est reconstitué et vous pouvez le comparer à la courbe d'origine.
Ce menu vous présente les calculs statistiques (moyenne, déviation standard, etc.) effectués sur les courbes visibles dans la fenêtre graphique.
Ce menu vous permet de construire une surface à partir des données en mémoire en divisant l'espace en boîtes de taille paramétrable et en calculant le pourcentage de points contenus par boîte (Voir à ce sujet le paragraphe 1.1.1).
==========================================================
Ce menu permet d'initialiser la fenêtre principale ``Mgraph_plot_window''. Toutes les courbes seront effacées.
Ce menu permet de créer une nouvelle fenêtre graphique indépendante de la première. Vous pouvez ouvrir ainsi jusqu'à 10 fenêtres simultanément. Le petit carré rouge en haut/gauche de la fenêtre vous indique laquelle est active. Attention ! Quitter Mgraph revient à quitter toutes les fenêtres ouvertes simultanément.
Ce menu permet d'animer les courbes tracées dans la fenêtre principale. Vous avez la possibilité d'ajouter un délai entre chaque courbe et de tracer avec un pas sur les données pour accélérer le mouvement.
==========================================================
Permet d'agrandir la zone visualisée à l'aide du bouton droit de la souris. Le ``zoom'' est également appelé à partir du petit carré rouge en haut/gauche de la fenêtre graphique.
Permet de voir les coordonnées des points. Pour en sortir, cliquez sur le bouton gauche de la souris.
Permet de redessiner la(les) courbe(s) avec le maximum d'amplitude. Cette fonction revient à utiliser les valeurs par défaut du menu ``Settings->Axis setting''. Cette fonction peut également être appelée en cliquant dans le petit carré vert en haut/gauche de la fenêtre graphique.
Permet d'effacer un ensemble de points. Attention ! Le carré de sélection doit être suffisamment grand. Si vous désirez supprimer un seul point, par exemple, il vous faudra peut-être agrandir la zone (``zoom'') avant de choisir ``Clear area''.
Permet de stocker dans un fichier des points relevés à l'aide de la souris. Le nom du fichier par
défaut est ``values.data''. Ce nom s'incrémente avec chaque activation de la fonction:
values01.data, values02.data etc.
Le fichier est en format ASCII sous forme de 2 colonnes (abscisse, ordonnée).
Dès l'appel de la touche ``Apply'', une fenêtre apparaît affichant les coordonnées. En cliquant sur le
bouton gauche de la souris, le point correspondant sera enregistré. Pour en sortir, cliquez sur le
bouton droit de la souris.
==========================================================
Aide en ligne, menu par menu , en français ou en anglais.
**********************************************************
**********************************************************
2.1 FONCTIONNEMENT GENERAL
Dans ce mode les graphiques sont générés sans visualisation et de manière automatique.
N.B. Mgraph en mode interactif permet de créer automatiquement
(à partir de la fenêtre graphique, mais aussi à partir d'une présentation complexe de page)
un fichier de commandes qu'il suffit ensuite de modifier si besoin est.
La commande peut être : | |
Mgraph fich1.com | |
ou | |
Mgraph fich1.com fich2.com etc. |
Une option Mgraph -show fich1.com peut être utilisée ; dans ce cas, après avoir exécuté l'ensemble du fichier de commande, la version Motif du logiciel est lancée et le dernier graphique apparaît dans la fenêtre de tracé.
Un fichier de commande peut être paramétré très simplement en utilisant un système d'alias
(mot libre précédé du caractère @) permettant de remplacer tout ou partie de la commande par une
ligne introduite dans un fichier de données.
Ex: dans le fichier de commande aa.com nous avons :
Verbose SetAlias ReadFile File="./data" PlotTitle Title="@TITLE" Height=1.20 @STYLE etc.Dans le fichier de données data nous avons :
@TITLE Donn\'ees du 12-10-97 @STYLE LineStyle Curve=1 Style=MicroDash Color=Red Thickness=2 0 0 100 -1 150 1 etc.Le fichier de commandes réellement exécuté sera
Verbose SetAlias ReadFile File="./data" PlotTitle Title="Donn\'ees du 12-10-97" Height=1.20 LineStyle Curve=1 Style=MicroDash Color=Red Thickness=2 etc.
# | Ce caractère permet de commenter une ligne de fichier. |
| | Ce caractère indique un choix d'option. |
[ ] | Ces caractères signalent une option facultative. |
\ | Ce caractère signale que la ligne suivante est la suite de cette ligne. |
Passe les unités des dimensions et coordonnées en inch au lieu des cm (option
par défaut).
Filename est le nom du fichier Encapsulé PostScript contenant le logo.
Permet l'ajout de la date et d'une signature (texte) sur la page imprimée.
Spécifie la géométrie de la fenêtre de tracé. Cette option n'est validée que si
l'option -show est utilisée dans la commande de lancement.
Représente la manière dont 2 segments sont joints; par défaut, les deux lignes
forment un angle ; en choisissant cette option, l'angle sera arrondi.
STYLE=LinePlot|ScatterPlot|ErrorBarsX|ErrorBarsY|Stepplot
[ NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1 NLINES=-1 ]
[ ERRORCOLUMN=-1 LINESTOSKIP=-1 UNDEFVALUE=-1 ]
[ NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1 NLINES=-1 ]
[ LINESTOSKIP=-1 UNDEFVALUE=-1 ]
MODE=Normal|Cumulative YUNIT=Density|PerCent
[ NCOLUMNS=-1 YCOLUMN=-1 NLINES=-1 ]
[ LINESTOSKIP=-1 UNDEFVALUE=-1 ]
[ XMIN=-1 XMAX=-1 CLASSSIZE=-1 ]
DATATYPE=8bit | 8bitsigned | 16bit | 16bitsigned | Integer | Float
STYLE=LinePlot|ScatterPlot|ErrorBarsX|ErrorBarsY|Stepplot
NCOLUMNS=-1 XCOLUMN=-1 COLUMN=-1 NLINES=-1
[ ERRORCOLUMN=-1 LINESTOSKIP=-1 UNDEFVALUE=-1 ]
[ NCOLUMNS=-1 NLINES=-1
LINESTOSKIP=-1 UNDEFVALUE=-1]
[ DISTANCEFACTOR=-1 ZMIN=-1 ZMAX=-1 ]
DATATYPE=8bit | 8bitsigned | 16bit | 16bitsigned | Integer | Float
NCOLUMNS=-1 NLINES=-1
[ UNDEFVALUE=-1 DISTANCEFACTOR=-1]
[ ZMIN=-1 ZMAX=-1 ]
NCOLUMNS=-1 NLINES=-1 XCOLUMN=-1 YCOLUMN=-1
XMIN=-1 XMAX=-1 XSTEP= -1
YMIN=-1 YMAX=-1 YSTEP=-1
[ LINESTOSKIP=-1 UNDEFVALUE= -1 ]
NCOLUMNS=-1 XCOLUMN=-1 YCOLUMN=-1
NLINES=-1 LINESTOSKIP=-1
RHOCOLUMN=-1 THETACOLUMN=-1
LENGTHFACTOR=-1 ARROWFACTOR=-1
XGRID=Yes|Light|No YGRID=Yes|Light|No
[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]
[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]
LABELHEIGHT=1 CFORMAT="format" ANGLE=0.
LIST= value1 "texte1" ... valueN "texteN"
[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]
[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]
LABELHEIGHT=1 CFORMAT="format" ANGLE=0.
LIST= value1 "texte1" ... valueN "texteN"
[ MIN=-1 MAX=-1 DELTA=-1 LABEL=Yes|No ]
[ FORMULA="my_formula" NEWXMIN=-1 NEWXMAX=-1 ]
LABELHEIGHT=1 CFORMAT="format" ANGLE=0.
LIST= value1 "texte1" ... valueN "texteN"
Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
[ GRID=Light DEPEND=AxisFormula ]
LABEL=Yes|No LABELSTEP=-1 LABELHEIGHT=1
[ UPPERVIEW=Yes|No ] LABELPOSITION=-1 COLOR=Black
où LabelPosition= est la position des annotations des rayons (en degrés).
LABEL=Yes|No LABELSTEP=-1 LABELHEIGHT=-1
COLOR=Black [ CLOCKWISE=Yes|No ORIGIN=LeftSideRight ]
[ MIN=-1 MAX=-1 ] WINDOWSIZE=-1 STEP=-1
[ MODE=Add|Replace|Merge VARIABLE=X|Y ]
[ MIN=-1 MAX=-1 ] WINDOWSIZE=-1 STEP=-1
[ MODE=Add|Replace|Merge VARIABLE=X|Y ]
[ MIN=-1 MAX=-1 NPOINTS=-1 STEP=-1]
[ MODE=Add|Replace|Merge VARIABLE=X|Y ]
[ MIN=-1 MAX=-1 NPOINTS=-1]
STEP=-1 ORDER=1
[ MODE=Add|Replace|Merge VARIABLE=X|Y ]
FIT_RESULT_AS_ANNOTATION=Yes|No
XSTART=0 YSTART=0
COLOR=Black STYLE=Plain|Bold HEIGHT=1
[ MIN=-1 MAX=-1 NPOINTS=-1 STEP=-1 ] ERROR=1.e-05
[ MODE=Add|Replace|Merge VARIABLE=X|Y
FORMULA=Ëquation" INIT=Ïnitial values"
FIT_RESULT_AS_ANNOTATION=Yes|No
XSTART=0 YSTART=0
COLOR=Black STYLE=Plain|Bold HEIGHT=1
ATTENTION!
BACKGROUND=transp|white
FOREGROUND=Undef|White|Black
CFORMAT="format" SIZE=1
LINESTYLE=Solid MARKSTYLE=Bigdot
DISTANCEFACTOR=-1 XYRATIO=-1 INTERPOLATION=Yes|No
STRETCH=0.93 SHIFT=0.09 GRIDSIZE=40.
COLOR=Black THICKNESS=1.
Où Zmin, Zmax sont les bornes minimale et maximale Z de la surface. Cet intervalle
sera découpé en 256 niveaux de couleurs.
Où FirstLevel, LastLevel sont les bornes minimale et maximale (entre 0 et 255) de la
table de couleur qui seront utilisées pour le découpage des niveaux V1 V2.
Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
où LutNumber= détermine le choix de la table de couleur:
= de 1 à 14 : l'une des tables de couleur internes est sélectionnée (description §1.2.8)
Si un nom de fichier est donné, les données peuvent être codées de 2 manières:
XSTART=-1 YSTART=-1 XEND=-1 YEND=-1 MIN=-1 MAX=-1
COLOR=Black POSITION=DownRight|UpLeft
NOTICK=Yes|No CFORMAT="format" SIZE=1
LIST= Z0 Label0... Zn Labeln
Où XStart=. Yend= sont les coordonnées du rectangle. Elles sont données en unité
utilisateur ou en pourcentage de la taille des axes. (Il suffit de faire suivre la valeur
par % pour être indépendant des unités du graphique)
Où Min=0 Max=0 (0- > 255) Sont les bornes de la table de couleur à tracer. Elles
permettent de mettre en exergue une partie de la table de couleur utilisée.
Où z0 label0.. sont le niveau z suivi, soit de la valeur du label en réel à tracer, soit d'un
texte entouré de guillemets (Label : value or "text").
COLOR=Black STYLE=Plain|Bold
HEIGHT=1 ANGLE=0 TEXT="text to plot"
COLOR=Black STYLE=BigDot SIZE=1
COLOR=Black STYLE=BigDot THICKNESS=1
COLOR=Black STYLE=Solid THICKNESS=1
COLOR=Black STYLE=Solid THICKNESS=1
[ XSTART=0 YSTART= 0 XEND=0 YEND=0]
SCALE=Linear|Logarithm|Time|Degree|Formula
[ FORMULA="my_formula"]
MIN=0 MAX=0 DELTA=0
COLOR=Black THICKNESS=1
TITLE="Title of axis" TITLEHEIGHT=1
LABEL=Yes|No POSITION=UpRight|DownLeft LABELSTEP=-1
[ REFERENCE=-1 LABELHEIGHT= 1 CFORMAT="format" ANGLE=0]
[ LIST= value1 "texte1" ... valueN "texteN" ]
COLOR=Black STYLE=Plain|Bold
HEIGHT=1 ANGLE=0 TEXT="text toplot"
COLOR=Black STYLE=Solid THICKNESS=1
COLOR=Black STYLE=Solid THICKNESS=1
TYPE=Black&White|GrayScale|Color
[ ORIENTATION=Landscape|Portrait MODE=ScaleToFrame|Margin ]
[ SIZE= 15 COPIES=1 ORIENTATION=Landscape|Portrait ]
[ ORIENTATION=Landscape|Portrait ]
[ SIZE= 15 COPIES=1 ORIENTATION=Landscape|Portrait ]
Cette commande transfert le résultat à un ``previewer'' PostScript de
votre choix. Ex: SendToDisplay Command="ghostscript".
Exp, log10, log, sqrt, rnd()
sign, abs, int,
sin, cos, tan (en radian),sind, cosd, tand (en degrés)
asin, acos, atan, asind, acosd, atand,
sinh, cosh, tanh,
asinh, acosh, atanh,
cosec, sec, cotan, cosecd, secd, cotand
+, -, *, / , % (division entière),
** (élévation à la puissance)
& (AND) , | (OR) , ^ (XOR), ~ (complement)
Vous pouvez exécuter cet exemple en le plaçant dans un fichier (a.com) et en exécutant la
commande Mgraph -show a.com.
**********************************************************
Verbose Cette option imprime les lignes de commandes telles qu'elles ont été interprétées. SetAlias Lance l'analyse et la recherche de paramètres introduits dans les fichiers de
données ASCII. SetUnit INCH| CM
SetPaper A4 | A3 | B5 | USLETTER | USLEGAL AddLogo [ FILE="filename"] XSTART= YSTART= XSCALE= YSCALE=
SetSignature "texte de la signature"
WindowSize WIDTH= HEIGHT=
LineJoin ROUND| SHARP
AnnotationWindow cette option signifie que la cellule créée pourra ne contenir ni courbe
ni surface. Elle permet ainsi de dessiner dans cette cellule des annotations,
une échelle de couleur ou un diagramme circulaire
2.2.1 READ COMMAND
ReadFile FILE="FileName" MODE=Cartesian | Polar
Statistics FILE="FileName"
Histogram FILE="FileName" STYLE= Steps|Bars|BarsWithGap
ReadBinFile FILE="FileName"
ReadSurface FILE="FileName" MODE=Regular | Irregular
ReadBinSurface FILE="FileName"
ReadXYandBuildSurface FILE="FileName"
ReadArrows FILE="FileName"
permet de tracer des données sans passer par un fichier. Ces données seront placées
dans le fichier de commande lui-même (au début ou à la fin du fichier).
La délimitation du bloc est donnée par:ReadFile FILE="DATABLOCK nom_du_bloc" etc...
DATABLOCK nom_du_bloc << pour marquer le début du bloc de données
>> pour marquer la fin du bloc de données
exemple:
DataBlock nom_du_bloc1 <<
28222 0.038797 31393 0.014833 33194 -0.03001 37694 -0.027402
39513 -0.013366 43993 0.019358 44893 0.240929 45793 0.222208
...
NewCurve
31393 0.014833 45793 0.222208 46713 0.238592 48495 0.239557
52993 0.301588 55520 0.275073 56602 0.260338 57974 0.276448
...
>>
Il est possible de créer ainsi plusieurs blocs correspondant à plusieurs ReadFile.
2.2.2 PLOT SETTING
PlotTitle TITLE="Text of Title" HEIGHT=-1 Grid FRAME=No|Yes
ScaleToFrame LineStyle CURVE=1 STYLE=Solid COLOR=Black THICKNESS=1 MarkStyle CURVE=1 STYLE=Cross SIZE=1 Sampling CURVE=1 STEP=1 Mask CURVE=1 ArrowStyle CURVE=1 LENGTHFACTOR=-1 ARROWFACTOR=-1
2.2.3 AXES SETTING
Rescale XTitle TITLE="text of title" HEIGHT=1 XAxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula
XLabel LABELSTEP=-1 REFERENCE=-1
YTitle TITLE="text of title" HEIGHT=1 Yaxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula
YLabel LABELSTEP=-1 REFERENCE=-1
ZTitle TITLE="text of title" HEIGHT=1 Zaxis SHOW=Yes|No SCALE=Linear|Logarithm|Time|Degree|Formula
ZLabel LABELSTEP=-1 REFERENCE=-1
2.2.4 CIRCULAR DIAGRAM
PolarAxis XCENTER=-1 YCENTER=-1 RADIUSMAX=-1
RadialAxis DELTATHETA=-1 DELTARADIUS= -1
ThetaList theta values.... RadiusList radius values.... AzimuthAxis DELTAPHI=-1
PhiList phi values....
2.2.5 FITS COMMANDS
Fit FUNCTION=Smooth CURVE=1
Fit FUNCTION=Bezier CURVE=1
Fit FUNCTION=Spline CURVE=1
FitResultFormat " Standard Deviation: %f Correlation: %.3f Y = %.6f X + %.3f",std,cor,c1,c0
Fit FUNCTION=Polynomial CURVE=-1
FitResultFormat " Standard Deviation: %f Correlation: %.3f a=%.6f b=%.3f",std,cor,a,b
Fit FUNCTION=AdvancedFit CURVE=1
2.2.6 MISC COMMANDS
Formula MIN=-1 MAX=-1 NPOINTS=-1 FORMULA=Ëquation" Extract FILE="filename"
2.2.7 ISO CONTOURS
ContourDef LABEL=Yes|No SMOOTH=Yes|No IDEALDISTANCE=1
DrawContour VALUE=0 COLOR=Black
SurfaceGeometry XMIN=-1 XMAX=-1 YMIN=-1 YMAX=-1
3DView UP/DOWN=60. RIGHT/LEFT==45. GROUNDLEVEL=0.
Add3DView [ Top|Bottom|Grid|Surface|TopCurve|BottomCurve ] SurfaceStretch ZMIN=-1 ZMAX=-1 FIRSTLEVEL=-1 LASTLEVEL=-1
AddObjects [ Region|Surface|Dots|Triangles ]
SurfaceLut LUTNUMBER=0 | FILE= "file_name"
- indice (0- > 255) Rouge Vert Bleu (composantes codées entre 0- > 255) - z1 z2 (bornes de la surface) Rouge Vert Bleu (composantes couleurs) ColorScale MODE= Linear | Boxes
2.2.8 PLOT ANNOTATION
Les commandes suivantes peuvent être utilisées dans une ``Annotation Window'':
Toutes les coordonnées sont données en unités utilisateur ou en pourcentage de la taille des
axes. (Il suffit de faire suivre la valeur par % pour être indépendant des unités du graphique)
PlotText XSTART=0 YSTART=0
PlotMark XSTART=0 YSTART=0
PlotBox XSTART=0 YSTART=0 XEND=0 YEND=0
PlotLine XSTART=0 YSTART=0 XEND=0 YEND=0
PlotArrow XSTART=0 YSTART=0 XEND=0 YEND=0
PlotAxis LOCATION=RIGHT|TOP|LEFT|BOTTOM|FREE
2.2.9 PAGE SETTING
Toutes les coordonnées sont données en cm ou inch.PageText XSTART=0 YSTART=0
PageBox XSTART=0 YSTART=0 XEND=0 YEND=0
PageLine XSTART=Black YSTART=0 XEND=0 YEND=0
DrawCell XSTART=0 YSTART=0 WIDTH=0 HEIGHT=0
NB: Comme vous précisez le Type à chaque cellule, il est possible d'imprimer des graphiques
noir et blanc et couleur sur la même page.
2.2.10 OUTPUT COMMANDS
SendToFile FILE="filename" TYPE=Black&White|GrayScale|Color
SendTo[EPS]File FILE="filename" TYPE=Black&White|GrayScale|Color
SendToPrinter COMMAND="filename" TYPE=Black&White|GrayScale|Color
2.3 OPTIONS AND SPECIFICATIONS
2.4 EXEMPLE
Le résultat en PostScript sera contenu dans le fichier print.ps que
vous pouvez imprimer ou visualiser.
Verbose
WindowSize Width=575 Height=575
Formula Min=0 Max=360 Npoints=200 Formula="y=sind(x)"
PlotTitle Title="COMMAND FILE TEST" Height=1.20
ScaletoFrame
LineJoin Round
LineStyle Curve=1 Style=MicroDash Red Thickness=2
MarkStyle Curve=1 Style=BigDot Size=3
PlottingStep Curve=1 Step=2
XAxis Scale=Logarithm Min=-1 Max=-1
Ytitle Title="Y values" Height=1.
Ylimits Min=-1. Max=1.0
Ylabel LabelHeight=1.00 CFormat="%+2.2f"
Rescale
Fit Function=Polynomial Curve=1 Npoints=100 Order=6 Mode=Add
Fit Function=AdvancedFit Curve=1 Npoints=100 Error=.0001 Mode=Add \
Formula="y=a*x+b" Init="a=3,b=0"
Formula Npoints=100 Formula="y=y1+rnd()/2"
Extract File="./data.extract"
PlotText XStart=32.22% YStart=81.04% Color=Red Style=Bold \
Height=3.00 Text="$a^{2$b^{$T}\_{$d}}+$g"
PlotText XStart=0.11 Ystart=-.5 Color=Green Style=Bold \
Height=2. Angle=-30 Text="Green Plot Note"
PlotMark XStart=40. YStart=0 \
Color=Magenta Style=TriangleUp Size=20
PlotLine XStart=80% YStart=0% XEnd=80% YEnd=100% \
Color=Red Style=Dash Thickness=6
PlotBox XStart=0. YStart=-1. XEnd=50. YEnd=-.5. \
Color=Red Style=MicroDash Thickness=12
PlotArrow XStart=0. YStart=-1 XEnd=150. YEnd=.8 \
Color=Magenta Thickness=10
PlotAxis Location=Free \
XStart=0.30% YStart=108.79% XEnd=100.30% YEnd=109.16% \
Color=Violet Label=Yes \
Min=0 Max=360 Delta=40 \
CFormat="%.0f" Scale=Linear
PageText XStart=10. YStart=25. Color=Blue Style=Bold \
Angle=20. Text="Blue Page Note"
PageLine XStart=0. YStart=14. XEnd=16. YEnd=6. \
Color=Plum Style=Dash Thickness=.1
PageBox XStart=2. YStart=5. XEnd=5. YEnd=9. \
Color=Cyan Style=Solid Thickness=.2
PageArrow XStart=5. YStart=8. XEnd=12. YEnd=10. \
Color=Turquoise Thickness=.6
DrawCell XStart=4. YStart=4. Width=15. Height=16. \
Type=Color Mode=ScaleToFrame
SendToFile File="./print" Size=15. Copies=1
**********************************************************
Une version réseau du logiciel (Mgraph_sp ) a été développée ; elle permet la visualisation de graphiques générés dans un programme. Cette version est très utilisée dans des problèmes délicats comme le dépouillement de mesures où les contraintes sont le choix de séquences à dépouiller et l'ajustement de coefficients dans les modèles pour réaliser par exemple des inversions et retrouver des paramètres physiques.
Une bibliothèque lib_Net_Mgraph.a contenant divers modules à intégrer dans les programmes
FORTRAN ou C a été générée et plusieurs exemples commentés sont fournis avec la
distribution de Mgraph .
Cette version réseau permet à un utilisateur de lancer son programme de calcul sur un 1er
ordinateur qui exécuterait le programme de visualisation Mgraph_sp sur un 2ème ordinateur et la
visualisation des graphiques sur le terminal X d'un 3ème ordinateur et ceci d'une façon transparente
quel que soit le type de plate-forme utilisée. (Attention l'utilisateur doit posséder les droits d'accès sur
les différentes machines utilisées). Dans le cas le plus général, le tout est lancé sur le même
ordinateur mais ceci montre bien l'indépendance entre le programme utilisateur et la visualisation
Mgraph .
Plusieurs exemples de programmes C et Fortran sont livrés avec la distribution de Mgraph .
Lancement du logiciel (§3.2.1) | run_mgraph |
run_mgraph_no_display | |
Spécifications générales (§3.2.2) | send_resize |
send_scale_to_frame | |
send_add_logo | |
send_signature | |
Tracé des axes (§3.2.3) | send_format |
send_xaxes2 | |
send_yaxes2 | |
send_zaxes2 | |
send_labelsize | |
Envoi des données (§3.2.4) | send_data2 |
send_data_Xerror | |
send_data_Yerror | |
Envoi de surface (§3.2.5) | send_datasurf |
send_irregulardatasurf | |
send_datasurf3d | |
send_colorscale | |
Envoi de titre ou d'annotation (§3.2.6) | send_title |
send_text2 | |
send_line | |
send_box | |
send_mark | |
La mise en page (§3.2.7) | send_draw_cell |
send_page_text | |
send_page_line | |
send_page_box | |
send_page_arrow | |
Les sorties (§3.2.8) | send_print |
send_create_ps | |
send_create_eps | |
send_export | |
L'animation (§3.2.9) | send_animate |
send_clear_window | |
Terminer le dialogue (§3.2.10) | send_end_dialog |
send_exit_mgraph |
En FORTRAN, les noms des routines sont simplement suivis de _f.
La description détaillée des paramètres des fonctions est donnée ci-dessous.
Les variables suivantes sont utilisées dans plusieurs sous-programmes.
/*----------------------------------------------------------------------------*/ /* LOGIN login name; if NULL will be the current login */ /* SHELL "rsh" or "remsh"; if NULL will be "remsh" */ /* PATH path where the program is */ /* PROG name of the program (Mgraph_sp) */ /* COMPUTER name of the computer where the program have to */ /* be launched; if NULL will be server_name */ /* DISPLAY IP Address of terminal */ /*----------------------------------------------------------------------------*/ run_mgraph (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY); run_mgraph_no_display (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY); int client_id; char LOGIN[], SHELL[], PATH[], PROG[], COMPUTER[], DISPLAY[]; call run_mgraph_f (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY) call run_mgraph_no_display_f (client_id, LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY) integer client_id character*(*) LOGIN, SHELL, PATH, PROG, COMPUTER, DISPLAY
Si le fichier prog.c contient ce programme, lancer la commande de compilation:
3.2.2 Spécifications générales:
La routine ``send_clear_window'' permet d'effacer la fenêtre désignée.
``send_resize'' permet de redéfinir la géométrie de la fenêtre de tracé.
``send_scale_to_frame'' permet de limiter les axes aux vrais minimum et maximum alors que par
défaut une extension de 10% est appliquée pour une meilleure présentation.
``send_add_logo'' et ``send_signature'' permettent d'envoyer un logo et une signature sur la page.
C:
==
send_clear_window(client_id,window);
int client_id,window;
FORTRAN:
=======
call send_clear_window_f(client_id,window)
integer client_id,window
/*--------------------------------------------------------------------------------*/
/* width,height Window size in pixel */
/*--------------------------------------------------------------------------------*/
C:
==
send_resize(client_id,window,width,height);
int client_id,window,width,height;
FORTRAN:
=======
call send_resize_f(client_id,window,width,height)
integer client_id,window,width,height
/*--------------------------------------------------------------------------------*/
/* flag 0->no 1->yes */
/*--------------------------------------------------------------------------------*/
C:
==
send_scale_to_frame(client_id,window,flag);
int client_id,window,flag;
FORTRAN:
=======
call send_scale_to_frame_f(client_id,window,flag)
integer client_id,window,flag
/*--------------------------------------------------------------------------------*/
/* x_position, y_position position of the logo */
/* w_scale, h_scale scaling " " */
/* file_name the EPS filename which contains the logo */
/*--------------------------------------------------------------------------------*/
C:
==
send_add_logo(client_id,x_position,y_position,w_scale,h_scale,file_name);
int client_id;
float x_position,y_position,w_scale,h_scale;
char *file_name;
FORTRAN:
=======
call send_add_logo_f(client_id,x_position,y_position,w_scale,h_scale,file_name)
integer client_id
real x_position,y_position,w_scale,h_scale
character file_name()
/*--------------------------------------------------------------------------------*/
/* signature your signature */
/*--------------------------------------------------------------------------------*/
C:
==
send_signature(client_id,signature);
int client_id;
char *signature;
FORTRAN:
=======
call send_signature_f(client_id,signature)
integer client_id
character signature()
3.2.3 Déterminer le tracé des axes:
La routine ``send_format'' permet, en un seul appel, de déterminer les axes en X et en Y.
Les appels des routines ``send_xaxes2, send_yaxes2, send_zaxes2'' permettent de décrire les
axes un par un.
``send_labelsize'' permet de changer, en un seul appel, la taille de tous les labels.
/*-------------------------------------------------------------------------------------*/
/* extend 0=short mode 1=long mode */
/* XTitle X Title */
/* YTitle Y Title */
/* XForm X Format the C format formulation ("%.2f" for ex.) */
/* YForm Y Format " " " */
/* Xsize X Label size */
/* Ysize Y Label size */
/* Xgrid Grid type (10=grid 11=halftone 12=nogrid) */
/* Xlab 0=Draw label on X (1=NoXlabel) */
/* Ygrid Grid type (10=grid 11=halftone 12=nogrid) */
/* Ylab 0=Draw label on Y (1=NoYlabel) */
/* Xlog X log if =1 */
/* Ylog Y log if =1 */
/* Xstep X Step (if = 0 no small ticks) */
/* Ystep Y Step */
/* if extend = 1 (long mode): */
/* Xmin, Xmax X limits */
/* Xref X Reference value */
/* Xtick X tick nb */
/* Ymin, Ymax Y limits */
/* Yref Y Reference value */
/* Ytick Y tick nb */
/*-------------------------------------------------------------------------------------*/
C:
==
send_format(client_id,window,extend,XTitle,YTitle,XForm,YForm,Xsize,Ysize,
Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog,Xstep,Ystep,
Xmin,Xmax,Xref,Xtick,Ymin,Ymax,Yref,Ytick);
int client_id,window,extend;
char *XTitle,*YTitle ,*XForm,*YForm;
float Xsize,Ysize;
int Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog;
float Xstep,Ystep;
float Xmin,Xmax,Xref;
int Xtick;
float Ymin,Ymax,Yref;
int Ytick;
FORTRAN:
=======
call send_format_f(client_id,window,extend,XTitle,YTitle,XForm,YForm,Xsize,Ysize,
Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog,Xstep,Ystep,
Xmin,Xmax,Xref,Xtick,Ymin,Ymax,Yref,Ytick)
integer client_id,window,extend
character XTitle(),YTitle(),XForm(),YForm()
real Xsize,Ysize
integer Xgrid,Xlab,Ygrid,Ylab,Xlog,Ylog
real Xstep,Ystep
real Xmin,Xmax,Xref
integer Xtick
real Ymin,Ymax,Yref
integer Ytick
/*--------------------------------------------------------------------------------------*/
/* legend The text which is displayed under the axis */
/* format the C format formulation ("%.2f" for ex.) */
/* label size factor on label size */
/* min, max the limits of axis (-1 : uses the best) */
/* grid 10= grid 11= half tone 12= no grid */
/* thickness line factor */
/* rotation label text rotation in degrees */
/* step the step in your units between two ticks (-1:uses the best) */
/* ref reference value (-1 : uses the best) */
/* tick step (in ticks) between two labeled ticks (-1 : uses the best) */
/* log 0=linear 1=logarithm 2=formula 3=time 4=degree */
/* Formula (if log = 2) */
/*--------------------------------------------------------------------------------------*/
C:
==
send_xaxes2(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula);
send_yaxes2(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula);
send_zaxes2(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula);
int client_id,window;
char *legend,*format;
float label_size,min,max;
int grid,color,thickness;
float rotation,step,ref;
int tick,log;
char *Formula;
FORTRAN:
=======
call send_xaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula)
call send_yaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula)
call send_zaxes2_f(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula)
integer client_id,window;
character*(*) legend,format;
real label_size,min,max;
integer grid,color,thickness;
real rotation,step,ref;
integer tick,log;
character*(*) Formula;
/*-----------------------------------------------------------------------------*/
/* tit size of title */
/* xlab size of Xaxis labels */
/* ylab size of Yaxis labels */
/* xtit size of Xaxis title */
/* ytit size of Yaxis title */
/*-----------------------------------------------------------------------------*/
C:
==
send_labelsize(client_id,window,tit,xlab,ylab,xtit,ytit);
int client_id,window;
float tit,xlab,ylab,xtit,ytit;
FORTRAN:
=======
call send_labelsize_f(client_id,window,tit,xlab,ylab,xtit,ytit)
integer client_id,window
real tit,xlab,ylab,xtit,ytit
3.2.4 Envoyer les données à Mgraph:
La routine ``send_data2'' permet d'envoyer dans une fenêtre une série de données, sous la forme
de 2 tableaux (X et Y). Les routines ``send_data_Xerror'' et ``send_data_Yerror''
permettent de tracer ces données avec une barre d'erreur (X, Y et tableau ERROR). Pour chacun de ces appels,
vous pouvez déterminer le numéro de la courbe (-1 numérotera automatiquement),
le style (couleur, ligne et type de marqueur) de la courbe (et des barres d'erreur).
/*----------------------------------------------------------------------------*/
/* clear Window have to be cleared ? (Bool) */
/* plot_nb (0->512) Number of the plot (-1 will determine an available one */
/* nbp Number of points in the data */
/* xx x data */
/* yy f(x) data */
/* error X or Y error bar (Y+err Y-err (or X+err X-err) will be drawn) */
/*----------------------------------------------------------------------------*/
C:
==
send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize);
int client_id;
int window,clear,plot_nb, nbp;
float *xx,*yy;
int color,style,mark,thickness,marksize;
send_data_Xerror(client_id,window,clear,plot_nb,nbp,xx,yy,error,
bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size);
send_data_Yerror(client_id,window,clear,plot_nb,nbp,xx,yy,error,
bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size);
int client_id,window,clear,plot_nb,nbp;
float *xx,*yy,*error;
int bar_color,bar_style,bar_mark,bar_thickness,bar_marksize;
int curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size;
FORTRAN:
=======
call send_data2_f(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize)
integer client_id
integer window,clear,plot_nb, nbp
real xx(nbp),yy(nbp)
integer color,style,mark,thickness,marksize
call send_data_Xerror_f(client_id,window,clear,plot_nb,nbp,xx,yy,error,
bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size)
call send_data_Yerror_f(client_id,window,clear,plot_nb,nbp,xx,yy,error,
bar_color,bar_style,bar_mark,bar_thickness,bar_marksize,
curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size)
integer client_id,window,clear,plot_nb,nbp
real xx(nbp),yy(nbp),error(nbp)
integer bar_color,bar_style,bar_mark,bar_thickness,bar_marksize
integer curve_color,curve_style,curve_mark_type,curve_line_thickness,curve_mark_size
3.2.5 Envoyer une surface à Mgraph:
La routine ``send_datasurf'' permet d'envoyer une surface, en grille régulière,
à Mgraph . Les points sont rangés dans 1 tableau (data). ``send_irregulardatasurf''
permet d'envoyer une surface irrégulière en 3 tableaux (XX, YY et ZZ).
``send_datasurf3d'' permet une représentation 3D de la surface précédemment tracée
dans une fenêtre et l'appel de ``send_colorscale'' permet de dessiner
dans la fenêtre une échelle couleur, linéaire ou à l'aide de carrés.
Pour la description des tables de couleur internes, voir au §1.2.8.
/*-----------------------------------------------------------------------------------*/
/* width, height surface dimensions */
/* xmin xmax ymin ymax limits on X and Y */
/* data[width*height] data values */
/* nbcont number of contour values */
/* cont[nbcont] contour values */
/* color[nbcont] (0->12 - 16) */
/* style[nbcont] (0->7) Line style */
/* mark[nbcont] (0->15) Mark type */
/* dolabel[nbcont] Draw label? 0=No 1=Yes */
/* add[4] Surface , Region , Dots , Triangles (0/1) */
/* undef Undef value (float) */
/* distance Region distance factor */
/* pix[4] Color tranformation: minv maxv minp maxp */
/* nlut 0=no lut 1->14=internal LUT 256=use following LUTS */
/* Red[256] LUT */
/* Green[256] LUT */
/* Blue[256] LUT */
/* near pixel interpolation: 0=No 1=Yes */
/* Format label C format */
/* AddMode 1 = add contours on graphic window */
/*-----------------------------------------------------------------------------------*/
C:
==
send_datasurf(client_id,window,width,height,xmin,xmax,ymin,ymax,data,nbcont,cont,
color, style,mark ,dolabel,add,undef,distance,pix,nlut,
red,green,blue,near,Format,AddMode);
int client_id,window,width,height;
float xmin,xmax,ymin,ymax;
float *data;
int nbcont;
float *cont;
int *color,*style,*mark,*dolabel;
int *add;
float undef,distance,*pix;
int nlut;
short *red,*green,*blue;
int near;
char *Format;
int AddMode;
FORTRAN:
=======
call send_datasurf_f(client_id,window,width,height,xmin,xmax,ymin,ymax,data,nbcont,cont,
color, style,mark ,dolabel,add,undef,distance,pix,nlut,
red,green,blue,near,Format,AddMode)
integer client_id,window,width,height
real xmin,xmax,ymin,ymax
real data(nbp)
integer nbcont
real cont(nbcont)
integer color(nbcont),style(nbcont),mark(nbcont),dolabel(nbcont)
integer add(4)
real undef,distance,pix(4)
integer nlut
integer*2 red(256),green(256),blue(256)
integer near
character*(*) Format
integer AddMode
/*-----------------------------------------------------------------------------------*/
/* width, height surface dimensions [default 0] */
/* size size of matrix X,Y,Z */
/* xx X values (float) */
/* yy Y values (float) */
/* zz Z values (float) */
/*-----------------------------------------------------------------------------------*/
C:
==
send_irregulardatasurf(client_id,window,width,height,size,xx,yy,zz,nbcont,cont,
color,style,mark,dolabel,add,undef,distance,pix,nlut,
red,green,blue,near,Format,AddMode);
int client_id,window,width,height,size;
float *xx,*yy,*zz;
int nbcont;
float *cont;
int *color,*style,*mark,*dolabel;
int *add;
float undef,distance,*pix;
int nlut;
short *red,*green,*blue;
int near;
char *Format;
int AddMode;
FORTRAN:
=======
call send_irregulardatasurf(client_id,window,width,height,size,xx,yy,zz,nbcont,cont,
color,style,mark,dolabel,add,undef,distance,pix,nlut,
red,green,blue,near,Format,AddMode)
integer client_id,window,width,height,size
real xx(size),yy(size),zz(size)
integer nbcont
real cont(nbcont)
integer color(nbcont),style(nbcont),mark(nbcont),dolabel(nbcont)
integer add(4)
real undef,distance,pix(4)
integer nlut
integer*2 red(256),green(256),blue(256)
integer near
character*(*) Format
integer AddMode
/*-----------------------------------------------------------------------------------*/
/* updown Up/Down angle in degrees */
/* rightleft Right/Left angle in degrees */
/* groundlevel Undef=8421 */
/* stretch between 0 to 1 : reduces z impact */
/* zeroposition between -1 to 1 : shifts the graph position */
/* addings3D[8] Top surface, Bottom surface, Surface, Grids, */
/* Top curves, Bottom curves (0/1) (7 & 8 unused) */
/* nbgrid Number of grids */
/* thickness Grid thickness */
/* color Grid color (0->12 or 16 for white) */
/*-----------------------------------------------------------------------------------*/
C:
==
send_datasurf3d(client_id,window,updown,rightleft,groundlevel,
stretch,zeroposition,addings3D,nbgrid,thickness,color);
int client_id,window;
float updown,rightleft,groundlevel,stretch,zeroposition;
int *addings3D,nbgrid,thickness,color;
FORTRAN:
=======
call send_datasurf3d(client_id,window,updown,rightleft,groundlevel,
stretch,zeroposition,addings3D,nbgrid,thickness,color)
integer client_id,window
real updown,rightleft,groundlevel,stretch,zeroposition
integer addings3D(8),nbgrid,thickness,color
/*-----------------------------------------------------------------------------------*/
/* mode 0=linear 1=boxes */
/* x1,y1,x2,y2 color scale positions */
/* min,max color scale stretch: 0->255 */
/* position 0=Down/Right 1=Up/Left */
/* color_label Label color (0->12 or 16 for white) */
/* NoTick 0=tick 1=no tick */
/* size_label the size label factor */
/* coord 0=percentage 1=user units */
/* format the C format formulation ("%.2f" for ex.) */
/* list list of pixel value followed by a value or a label */
/*-----------------------------------------------------------------------------------*/
C:
==
send_colorscale(client_id,window,mode,x1,y1,x2,y2,min,max,position,color_label,
NoTick,size_label,coord,format,list);
int client_id,window,mode;
float x1,y1,x2,y2;
int min,max,position,color_label,NoTick;
float size_label;
int coord;
char *format,*list;
FORTRAN:
=======
call send_colorscale(client_id,window,mode,x1,y1,x2,y2,min,max,position,color_label,
NoTick,size_label,coord,format,list)
integer client_id,window,mode
real x1,y1,x2,y2
integer min,max,position,color_label,NoTick
real size_label
integer coord
character*(*) format,list
3.2.6 Envoyer un titre ou une annotation à Mgraph:
Les appels suivants vous permettent d'ajouter un titre dans une fenêtre ou
des annotations: text, ligne ou boite. La variable ``relative'' permet de lier les annotations
au graphique en coordonnées réelles ou de les attacher au graphe lui-même (en %).
/*----------------------------------------------------------------------------*/
/* text the text which is to be shown */
/* x_position, y_position position of the text (or marker) */
/* x_start,y_start start position of the line (or box) */
/* x_end,y_end end position of the line (or box) */
/* rotation rotation angle in degree */
/* size factor */
/* bold 0->plain text 1->bold text */
/* thickness Line thickness factor */
/* relative 0->relative to frame in % 1-> user coordinates */
/*----------------------------------------------------------------------------*/
C:
==
send_title(client_id,window,text);
int client_id,window;
char *text;
send_text2(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative);
int client_id,window,color;
float rotation,size;
int bold;
float x_position,y_position;
char *text;
int relative;
send_line(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative);
int client_id,window,color,style,thickness;
float x_start,y_start,x_end,y_end;
int relative;
send_box(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative);
int client_id,window,color,style,thickness;
float x_start,y_start,x_end,y_end;
int relative;
send_mark(client_id,window,color,type,size,x_pos,y_pos,relative);
int client_id,window,color,type,size;
float x_pos,y_pos;
int relative;
FORTRAN:
=======
call send_title_f(client_id,window,text)
integer client_id,window
character*(*) text
call send_text2_f(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative)
integer client_id,window,color
real rotation,size
integer bold
real x_position,y_position
character*(*) text
integer relative
call send_line_f(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative)
integer client_id,window,color,style,thickness
real x_start,y_start,x_end,y_end
integer relative
call send_box_f(client_id,window,color,style,thickness,x_start,y_start,x_end,y_end,relative)
integer client_id,window,color,style,thickness
real x_start,y_start,x_end,y_end
integer relative
call send_mark_f(client_id,window,color,type,size,x_pos,y_pos,relative)
integer client_id,window,color,type,size
real x_pos,y_pos
integer relative
3.2.7 Faire une mise en page:
Vous pouvez imprimer votre graphe directement en utilisant les sorties PostScript, Gif ou Tiff mais
également en faisant une mise en page grâce aux appels suivants: ``send_draw_cell''
permet d'envoyer le graphe dans une cellule positionnée sur une page, puis ``send_page_text'' etc...
permettent de faire des annotations sur la page.
/*------------------------------------------------------------------------------------*/
/* x_position, y_position position of the cell on the page in cm */
/* width, height size in cm */
/* type 0=B/W 1=GreyScale 2=Color */
/* orientation 0=Portrait 1=Landscape */
/* fit_frame fit the frame? 0=No 1=Yes */
/*------------------------------------------------------------------------------------*/
C:
==
send_draw_cell(client_id,window,x_position,y_position,width,height,type,orientation,fit_frame);
int client_id,window;
float x_position,y_position,width,height;
int type,orientation,fit_frame;
FORTRAN:
=======
call send_draw_cell_f(client_id,window,x_position,y_position,width,height,type,orientation,fit_frame)
integer client_id,window
real x_position,y_position,width,height
integer type,orientation,fit_frame;
/*-------------------------------------------------------------------------------------*/
/* x_position, y_position position of the text on the page in cm */
/* bold bold text? 0=No 1=Yes */
/* height text height in cm */
/* rotation text rotation in degrees */
/* text the text which is to be shown */
/* x_start, y_start start position of the line (box, arrow) in cm */
/* x_end, y_end end position of the line (box, arrow) in cm */
/* thickness Line thickness in cm */
/*-------------------------------------------------------------------------------------*/
C:
==
send_page_text(client_id,x_position,y_position,color,bold,height,rotation,text);
int client_id;
float x_position,y_position;
int color,bold;
float height,rotation;
char *text;
send_page_line(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int client_id;
float x_start,y_start,x_end,y_end;
int color,style;
float thickness;
send_page_box(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int client_id;
float x_start,y_start,x_end,y_end;
int color,style;
float thickness;
send_page_arrow(client_id,x_start,y_start,x_end,y_end,color,style,thickness);
int client_id;
float x_start,y_start,x_end,y_end;
int color,style;
float thickness;
FORTRAN:
=======
call send_page_text_f(client_id,x_position,y_position,color,bold,height,rotation,text)
integer client_id
real x_position,y_position
integer color,bold
real height,rotation
character*(*) text
call send_page_line_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer client_id
real x_start,y_start,x_end,y_end
integer color,style
real thickness
call send_page_box_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer client_id
real x_start,y_start,x_end,y_end
integer color,style
real thickness
call send_page_arrow_f(client_id,x_start,y_start,x_end,y_end,color,style,thickness)
integer client_id
real x_start,y_start,x_end,y_end
integer color,style
real thickness
3.2.8 Les sorties PostScript, Gif ou Tiff:
Vous pouvez imprimer votre graphe ou votre mise en page soit directement sur
une imprimante à travers une commande ``shell'', soit dans un fichier (PS ou EPS).
Vous pouvez également exporter un graphe dans un fichier TIFF ou GIF.
/*------------------------------------------------------------------------------------*/
/* allows you to send the graphic window to a spooler command */
/* or in a (Encapsulated)PostScript file */
/* size size in cm (std 16 cm) */
/* type 0=B/W 1=GreyScale 2=Color */
/* square square frame? 0=No 1=Yes */
/* logo add the logo? 0=No 1=Yes */
/* orientation 0=Portrait 1=Landscape */
/* printer_shell spooler command: example: "lp -d Myprinter" */
/* file_name your PS file name */
/*------------------------------------------------------------------------------------*/
C:
==
send_print(client_id,window,size,type,square,logo,orientation,printer_shell);
int client_id,window;
float size;
int type,square,logo,orientation;
char *printer_shell;
send_create_ps (client_id,window,size,type,square,logo,orientation,file_name);
int client_id,window;
float size;
int type,square,logo,orientation;
char *file_name;
send_create_eps(client_id,window,type,orientation,file_name);
int client_id,window,type,orientation;
char *file_name;
FORTRAN:
=======
call send_print_f(client_id,window,size,type,square,logo,orientation,printer_shell)
integer client_id,window
real size
integer type,square,logo,orientation
character*(*) printer_shell
call send_create_ps_f(client_id,window,size,type,square,logo,orientation,file_name)
integer client_id,window
real size
integer type,square,logo,orientation
character*(*) file_name
call send_create_eps_f(client_id,window,type,orientation,file_name)
integer client_id,window,type,orientation
character*(*) file_name
/*------------------------------------------------------------------------------------*/
/* allows you to export the graphic window */
/* in a Gif / Tiff file */
/* type 0-> gif 1-> Tiff */
/* file_name your Gif/Tiff file name */
/*------------------------------------------------------------------------------------*/
C:
==
send_export(client_id,window,type,file_name);
int client_id,window;
int type;
char *file_name;
FORTRAN:
=======
call send_export_f(client_id,window,type,file_name)
integer client_id,window
integer type
character*(*) file_name
3.2.9 Animation des graphes:
Si plusieurs courbes ont été tracées dans la fenêtre,
elles peuvent être animées de la manière suivante:
/*-------------------------------------------------------------*/
/* elapse time : 10 -> 100 */
/* plot step > 1 if the animation is too slow */
/*-------------------------------------------------------------*/
C:
==
send_animate(client_id,window,elapse,plot_step)
int client_id,window,elapse,plot_step;
FORTRAN:
=======
call send_animate_f(client_id,window,elapse,plot_step)
integer client_id,window,elapse,plot_step
3.2.10 Terminer la session:
La routine ``send_end_dialog'' permet de quitter votre programme en conservant
Mgraph actif. La routine ``send_exit_mgraph'' quitte Mgraph .
C:
==
send_end_dialog(client_id)
int client_id;
send_exit_mgraph(client_id)
int client_id;
FORTRAN:
=======
call send_end_dialog_f(client_id)
integer client_id
call send_exit_mgraph_f(client_id)
integer client_id
3.3 Exemples de programmes C:
/*-----------------------------------------------
SHORT PROGRAM:
You just need 3 calls to draw a curve:
run_mgraph: Calling of the software
send_data2: Drawing of 4 curves (sin) into 4 windows
send_end_dialog: Close Dialog: Mgraph remains active
------------------------------------------------*/
#include <stdio.h>
#include <math.h>
#define FALSE 0
#define TRUE 1
#define LOGIN ""
#define SHELL "remsh"
#define PATH "/usr/local/bin"
#define PROG "Mgraph_sp"
#define COMPUTER ""
#define DISPLAY ""
extern int run_mgraph();
main()
{
int mgraph_no=1,nbp = 512,id;
float *xx,*yy;
int i,plot_no;
/*========================================================================================
START MGRAPH_SP MODULE: run_mgraph
LOGIN: login name; if NULL will be the current login
SHELL: "rsh" or "remsh"; if NULL will be "remsh"
PATH : path where the program is
PROG : name of the program (Mgraph_sp)
COMPUTER: name of the computer where the program has to
be launched; if NULL will be the server name
DISPLAY: Your Display Id; if NULL will be your DISPLAY address
from your environment
==========================================================================================*/
if(!run_mgraph(mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY))
{
printf("Cannot start Mgraph\n");
exit(0);
}
xx = (float *) malloc( sizeof(float) * nbp );
yy = (float *) malloc( sizeof(float) * nbp );
for (plot_no=1;plot_no<5;plot_no++){
id = plot_no;
for(i=0;i<nbp;i++){
xx[i] = i * 3.141592 * plot_no / nbp;
yy[i] = sin((double)xx[i]) / plot_no;
}
/*-----------------------------------------------
SEND DATA ON WINDOW
send_data2(client_id,window,clear,plot_nb,nbp,$\times$,yy,color,style,mark,thickness,marksize);
id : Number of window (from 1 to 5)
0 : window will not be cleared
-1 : number of the plot
nbp : Number of points in xx and yy arrays
xx,yy : data arrays
plot_no: color of the curve
0 : line style (0=solid)
0 : mark style (0=no mark)
1 : line thickness
0 : mark size
------------------------------------------------*/
send_data2(mgraph_no,id,0,-1,nbp,xx,yy,plot_no,0,0,1,0);
}
send_end_dialog(mgraph_no);
free(xx);
free(yy);
}
/*-----------------------------------------------
RELATED PROGRAM: drawing with interaction between software and Mgraph
-----------------------------------------------
COMMON VARIABLES:
int Mgraph_no Sequence number of the software;
several Mgraph can be launched at the same time id (several Mgraph can be launched)
int nwindow Number of window in which the data will be shown (-1=Current)
int color Number of the color: from 0 to 12:
Red, Blue, Magenta, Black, Green, Forest, Sienna,
Yellow, Coral, Violet, Plum, Cyan, Turquoise
Plum, Cyan,Turquoise
and 16 for the White
int linestyle Style of the line: from 0 to 7:
Solid, NoLine, MicroDash, SmallDash,
Dash, LongDash, DashDot, LineDot
int marker Style of the marker: from 0 to 15:
NoMark, BigDot, SmallDot, Cross, X, Square,
Diamond, TriangleUp, TriangleDown, Circle
filled: Square, Diamond, TriangleUp, TriangleDown, Circle
-----------------------------------------------*/
#include <stdio.h>
#include <math.h>
#include <unistd.h>
#define FALSE 0
#define TRUE 1
#define LOGIN NULL
#define SHELL NULL
#define PATH "/usr/local/bin"
#define PROG "Mgraph_sp"
#define COMPUTER ""
#define DISPLAY NULL
#define XFormula "cos(x)"
#define YFormula NULL
extern int run_mgraph();
main()
{
float *xx,*yy;
int i,nbp,plot_no;
float coef;
int Mgraph_no;
int nwindow;
int width;
int height;
char title[128],texte[128];
char TitleAxis[128];
char Format[128];
float xmin,xmax,ymin,ymax;
int grid;
float xstep,ystep;
float xbase,ybase;
int ixtic,iytic;
int ixlog,iylog;
int clear,color,linestyle,marker;
float posx,posy;
clear = 0;
color = 0;
linestyle = 0;
marker = 0;
posy=0.1;
/*========================================================================================
START MGRAPH_SP MODULE: run_mgraph
LOGIN: login name; if NULL will be the current login
SHELL: "rsh" or "remsh"; if NULL will be "remsh"
PATH : path where the program is
PROG : name of the program (Mgraph_sp)
COMPUTER: name of the computer where the program has to
be launched; if NULL will be the server name
DISPLAY: Your Display Id; if NULL will be your DISPLAY address
from your environment
==========================================================================================*/
Mgraph_no = 1;
if(!run_mgraph(Mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY))
{
printf("Cannot start Mgraph\n");
exit(0);
}
nbp = 512;
xx = (float *) malloc( sizeof(float) * nbp );
yy = (float *) malloc( sizeof(float) * nbp );
/*========================================================================================
SEND_RESIZE WINDOW
int width,height = window size in pixel
==========================================================================================*/
width=600;
height=500;
nwindow = 1;
send_resize(Mgraph_no,nwindow,width,height);
/*=========================================================================================
SEND TITLE
char title[] = the text which is to be shown
==========================================================================================*/
strcpy(title,"y=sin(x) Window 1");
send_title(Mgraph_no,nwindow,title);
/*=========================================================================================
SEND AXES
send_xaxes2(client_id,window,legend,format,label_size,min,max,grid,
color,thickness,rotation,step,ref,tick,log,Formula);
CAREFUL with types !!!
char legend The text which is displayed under the axis
char format the C format formulation ("%.2f" for ex.)
float label size factor on label size
float min,max the limits of axis (-1 : uses the best)
int grid 10= grid 11= half tone 12= no grid
int color color type (3=black)
int thickness thickness of the line factor
float rotation label text rotation in degrees
float step the step in your units between two ticks (-1:uses the best)
float ref reference value (-1 : uses the best)
int tick step (in ticks) between two labeled ticks (-1 : uses the best)
int log 0=linear 1=logarithm 2=formula 3=time 4=degree
char Formula[] (if log = 2)
============================================================================================*/
xmin = 0.;
xmax = 3.15;
xstep= -1.;
xbase= -1.;
grid= 12;
ixtic= -1;
ixlog= 2;
send_xaxes2(Mgraph_no,nwindow,"0 <angle< $p","%.2f",1.0,
xmin,xmax,grid,3,1,30.0,xstep,xbase,ixtic,ixlog,XFormula);
ymin = 0.;
ymax = 10.;
ystep= -1.;
ybase= -1.;
iytic= -1;
iylog= 0;
send_yaxes2(Mgraph_no,nwindow,"computed sinus","%.2f",1.0,
ymin,ymax,grid,3,1,30.0,ystep,ybase,iytic,iylog,YFormula);
coef = 1.;
for(plot_no=1;plot_no<5;plot_no++){
/*=======================================================================================
Compute data...
=========================================================================================*/
for(i=0;i<nbp;i++){
xx[i] = (float)i * 3.141592 / nbp;
yy[i] = coef * sin((double)xx[i]) ;
}
/*========================================================================================
SEND DATA ON WINDOW nwindow
send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize);
int plot_nb Number of the curve (-1 will determine an available one)
int nbp Number of points in the data
float xx x data
float yy f(x) data
int color
int style
int mark
int thickness
int marksize
========================================================================================*/
send_data2(Mgraph_no,nwindow,clear,plot_no,nbp,xx,yy,color,linestyle,marker,1,1);
/*===========================================================================================
ADD TEXT ON WINDOW
send_text2(client_id,window,color,rotation,size,bold,x_pos,y_pos,text,relative);
float rotation rotation angle in degree
float size factor size of the text
int bold 0->plain text 1->bold text
float x_pos,y_pos position of the marker (or the text)
char text the text which is to be shown
int relative 0->relative to frame in % 1->relative to real coordinates
===========================================================================================*/
posx = 80;
sprintf(texte,"%.5f %c",3.141592 * plot_no,0);
send_text2(Mgraph_no,nwindow,color,0.0,1.,0,posx,posy,texte,0);
color++;
if (color>12) color = 0;
posy += 5;
printf("You can adjust your curve in your program\n");
printf("enter new coef (between 1-10) for a new curve: ");
scanf("%g",&coef);
}
/*====================================================================================
ANIMATE PLOTS
int elapse_time 10 -> 100
int step > 1 if the animation is too slow
======================================================================================*/
send_animate(Mgraph_no,nwindow,100,1);
printf("Touch the plot Window 1 to animate.... \n");
/*====================================================================================
New Window, same Mgraph, with the cosinus...
======================================================================================*/
nwindow = 2;
strcpy(title,"y=cos(x) Window 2");
send_title(Mgraph_no,nwindow,title);
send_xaxes2(Mgraph_no,nwindow,"Angle","%.1f",1.0,0.,10.,11,3,1,30.0,-1.,5.,2,4,XFormula);
send_yaxes2(Mgraph_no,nwindow,"cos(x)","%.2f",1.0,-1.,-1.,11,3,1,30.0,ystep,ybase,2,0,YFormula);
color=0;
clear=1;
linestyle=2;
for(plot_no=0; plot_no<5; plot_no++){
for(i=0;i<nbp;i++){
*(xx+i) = i * 3.141592 * plot_no / nbp;
*(yy+i) = cos(*(xx+i))* plot_no/10.;
}
send_data2(Mgraph_no,nwindow,clear,-1,nbp,xx,yy,color,linestyle,marker,1,1);
color++;
linestyle++;
clear=0;
}
/*===========================================================================================
EXIT_MAIN_PROGRAM
before quitting your main program, call send_end_dialog
to keep Mgraph running
===========================================================================================*/
send_end_dialog(Mgraph_no);
free(xx);
free(yy);
}
c================================================================== c SHORT PROGRAM: c You just need 3 calls to draw a curve: c run_mgraph: Calling of the software c send_data2: Drawing of 1 curve (sin) c send_end_dialog: Close Dialog: Mgraph remains active c================================================================== CHARACTER*(*) PROG,PATH PARAMETER (PATH ='/usr/local/bin/') PARAMETER (PROG ='Mgraph_sp') real xx(512),yy(512) nbp =512 Mgraph_no = 1 nwindow = -1 C======================================================================================== c START MGRAPH_SP MODULE: run_mgraph_f c LOGIN: login name; if NULL will be the current login c SHELL: "rsh" or "remsh"; if NULL will be "remsh" c PATH : path where the program is c PROG : name of the program (Mgraph_sp) c COMPUTER: name of the computer where the program has to c be launched; if NULL will be the server name c DISPLAY: Your Display Id; if NULL will be your DISPLAY address c from your environment C======================================================================================== call run_mgraph_f(Mgraph_no," "," ",PATH,PROG," "," ") c c Compute the data c do i = 1,nbp xx(i) = i * 3.141592 /nbp yy(i) = sin(xx(i)) enddo c----------------------------------------------- c nwindow : Number of window c 1 : window will be cleared c 1 : number of the plot c nbp : Number of points in xx and yy arrays c xx,yy : data arrays c 1 : color of the curve (1=blue) c 0 : line style (0=solid) c 4 : mark style (4=square) c 1 : line thickness c 1 : mark size c------------------------------------------------*/ call send_data2_f(Mgraph_no,nwindow,1,1,nbp,xx,yy,1,0,4,1,1) c=========================================================================================== c EXIT_MAIN_PROGRAM c before quitting your main program, call send_end_dialog c to keep Mgraph running c=========================================================================================== call send_end_dialog_f(Mgraph_no) stop end
c----------------------------------------------- c RELATED PROGRAM: drawing with interaction between software and Mgraph c ----------------------------------------------- c COMMON VARIABLES: c integer Mgraph_no Sequence number of the software; c several Mgraph can be launched at the same time id (several Mgraph can be launched) c integer nwindow Number of window in which the data will be shown (-1=Current) c integer color Number of the color: from 0 to 12: c Red, Blue, Magenta, Black, Green, Forest, Sienna, c Yellow, Coral, Violet, Plum, Cyan, Turquoise c Plum, Cyan,Turquoise c and 16 for the White c integer linestyle Style of the line: from 0 to 7: c Solid, NoLine, MicroDash, SmallDash, c Dash, LongDash, DashDot, LineDot c integer marker Style of the marker: from 0 to 15: c NoMark, BigDot, SmallDot, Cross, X, Square, c Diamond, TriangleUp, TriangleDown, Circle c filled: Square, Diamond, TriangleUp, TriangleDown, Circle c----------------------------------------------- CHARACTER*(*) LOGIN,SHELL,PROG,PATH,COMPUTER CHARACTER*(*) X_FORMULA,Y_FORMULA,DISPLAY PARAMETER (LOGIN=" ") PARAMETER (SHELL=" ") PARAMETER (PATH ="//usr/local/bin/") PARAMETER (PROG ="Mgraph_sp") PARAMETER (COMPUTER =" ") PARAMETER (DISPLAY = " ") PARAMETER (X_FORMULA= "cos(x)") PARAMETER (Y_FORMULA=" ") character*128 title,text real xx(512),yy(512) integer width,height iclear = 0 icolor = 0 linestyle = 0 marker = 0 py = 0.1 c======================================================================================== c START MGRAPH_SP MODULE: run_mgraph_f c LOGIN: login name; if NULL will be the current login c SHELL: "rsh" or "remsh"; if NULL will be "remsh" c PATH : path where the program is c PROG : name of the program (Mgraph_sp) c COMPUTER: name of the computer where the program has to c be launched; if NULL will be the server name c DISPLAY: Your Display Id; if NULL will be your DISPLAY address c from your environment c========================================================================================== Mgraph_no = 1 call run_mgraph_f *(Mgraph_no,LOGIN,SHELL,PATH,PROG,COMPUTER,DISPLAY) c======================================================================================== c SEND_RESIZE WINDOW c integer width,height = window size in pixel c========================================================================================== width=600 height=500 nwindow = 1 call send_resize_f(Mgraph_no,nwindow,width,height) c===================================================================== c SEND TITLE c call send_title_f(client_id,window,title) c character* title = the text which is to be shown c===================================================================== write(title,'(A)')"y=sin(x) Window 1" call send_title_f(Mgraph_no,nwindow,title) c===================================================================== c SEND AXES c CAREFUL with types !!! c call send_xaxes2_f(client_id,window,legend,format,label_size,min,max,grid, c color,thickness,rotation,step,ref,tick,log,Formula) c character* legend The text which is displayed under the axis c character* format the C format formulation ("%.2f" for ex.) c real label size factor on label size c real min,max the limits of axis (-1 : uses the best) c integer grid 10= grid 11= half tone 12= no grid c integer color color type (3=black) c integer thickness thickness of the line factor c real rotation label text rotation in degrees c real step the step in your units between two ticks (-1:uses the best) c real ref reference value (-1 : uses the best) c integer tick step (in ticks) between two labeled ticks (-1 : uses the best) c integer log 0=linear 1=logarithm 2=formula 3=time 4=degree c character* Formula (if log = 2) c===================================================================== xmin = 0. xmax = 3.15 xstep= -1. xbase= -1. igrid= 12 ixtic= -1 ixlog= 2 call send_xaxes2_f(Mgraph_no,nwindow,"0 <angle< $p","%.2f",1.0, & xmin,xmax,igrid,3,1,30.0,xstep,xbase,ixtic,ixlog,X_FORMULA) ymin = 0. ymax = 10. ystep= -1. ybase= -1. iytic= -1 iylog= 0 call send_yaxes2_f(Mgraph_no,nwindow,"computed sinus","%.2f",1.0, & ymin,ymax,igrid,3,1,30.0,ystep,ybase,iytic,iylog,Y_FORMULA) va = 1 nbp = 512 do iplot = 1,5 c===================================================================== c Compute data... c===================================================================== do i = 1,nbp xx(i) = i * 3.141592 / nbp yy(i) = va * sin(xx(i)) enddo c===================================================================== c SEND DATA ON WINDOW c call send_data2(client_id,window,clear,plot_nb,nbp,xx,yy,color,style,mark,thickness,marksize) c c integer clear does the window have it to be cleared? (0=no 1=yes) c integer plot_nb Number of the curve (-1 will determine an available one) c integer nbp Number of points in the data c real xx x data c real yy f(x) data c integer color c integer style c integer mark c integer thickness c integer marksize c===================================================================== call send_data2_f(Mgraph_no,nwindow,iclear,iplot, & nbp,xx,yy,icolor,linestyle,marker,1,1) icolor = icolor + 1 if (icolor.gt.12)icolor = 1 c===================================================================== c ADD TEXT ON WINDOW c call send_text2_f(client_id,window,color,rotation,size,bold,x_position,y_position,text,relative) c real rotation rotation angle in degree c real size factor size of the text c integer bold 0->plain text 1->bold text c real x_pos,y_pos position of the marker (or the text) c character*(*) text the text which is to be shown c integer relative 0->relative to frame in % 1->relative to real coordinates c===================================================================== px = 80. py = py + 5 write(text,"(f5.2)")3.141592 * iplot call send_text2_f(Mgraph_no,nwindow,icolor, * 0.0,1.,0,px,py,text,0) print *,'You can adjust your curve in your program' print*,"enter new coef (between 1-10) for a new curve:" read(5,*)va enddo c===================================================================== c ANIMATE PLOTS c integer elapse time 10 -> 100 c integer step > 1 if the animation is too slow c===================================================================== call send_animate_f(Mgraph_no,nwindow,10,1) print *,"Touch the plot Window 1 to animate...." c===================================================================== c New Window, same Mgraph, with the cosinus... c===================================================================== nwindow = 2 write(title,'(A)')"y=cos(x) Window 2" call send_title_f(Mgraph_no,nwindow,title) call send_xaxes2_f(Mgraph_no,nwindow,"Angle","%.1f",1.0, & 0.,10.,11,3,1,0.0,-1.,5.,2,4,X_FORMULA) call send_yaxes2_f(Mgraph_no,nwindow,"cos(x)","%.2f",1.0, & -1.,-1.,11,3,1,0.0,ystep,ybase,2,0,Y_FORMULA) icolor=0 iclear=1 linestyle=2 do iplot = 1,5 do i = 1,nbp xx(i) = i * 3.141592 * iplot / nbp yy(i) = cos(xx(i))* iplot/10. enddo call send_data2_f(Mgraph_no,nwindow,iclear,-1, & nbp,xx,yy,icolor,linestyle,marker,1,1) icolor = icolor + 1 linestyle = linestyle + 1 iclear=0 enddo c===================================================================== c EXIT MAIN PROGRAM c before quitting your main program, call send_end_dialog_f c to keep Mgraph running c===================================================================== call send_end_dialog_f(Mgraph_no) stop end
Si le fichier prog.f contient ce programme, lancer la commande de compilation:
f77 prog.f -o prog lib_Net_Mgraph.a
**********************************************************
**********************************************************
Utilisation de Mgraph dans un script CGI
Afin de gérer convenablement l'utilisation de Mgraph par Internet, il faut faire
particulièrement attention à certains paramètres du serveur:
Le serveur doit permettre l'utilisation de scripts CGI.
Pour un serveur apache, il suffira de se reporter aux fichiers de configuration (access.conf,
httpd.conf ou srm.conf) afin d'autoriser l'accès au répertoire
contenant les scripts.
Voici un exemple d'utilisation de Mgraph dans une succession de scripts écrits en langage C et en PERL.
<HTML> <HEAD><TITLE>The Mgraph Demo Form</TITLE></HEAD> <CENTER><H1>The Mgraph Demo Form</H1> <H3>Here is a basic example of an html form,<BR> a simple submit button to call a cgi script:<BR> </H3> <FORM ACTION="/cgi-bin/Mgraph.cgi" method="post"> <INPUT TYPE="SUBMIT" name="submit" value="Launch Shell Demo"> </FORM> <FORM ACTION="/cgi-bin/Mgraph.pl" method="post"> <INPUT TYPE="SUBMIT" name="submit" value="Launch Perl Demo"> </FORM> </CENTER> </HTML>
#include <stdio.h> #include <math.h> /* This program (called "Mgraph_with_cgi_example" in examples) generates a surface data file */ main() { int i,j,n; double xs,ys,x,y,z; n = 50; xs= 6.0 / n; ys= 6.0 / n; for(i=0;i<=n;i++){ x= -3. + i * xs; for(j=0;j<=n;j++){ y= -3. + j * ys; z=cos(x*y*2); printf(" %g %g %g\n",x,y,z); } } }
SetSignature "" ReadSurface File="/tmp/WWW/out_file" Mode=IRREGULAR Ncolumns=3 Xcolumn=1 Ycolumn=2 Zcolumn=3 " PlotTitle Title="Here is the result" Height=1.00 Grid Frame=Yes Xgrid=No Ygrid=No ContourDef Smooth=No Background=Transp ForeGround=Undef IdealDistance=1 Size=1 CFormat="%.3g" SurfaceLUT LutNumber=2 AddObject Surface XTitle Title="X" Height=1.00 XAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=1.00 YAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0 SendToFile File="/tmp/WWW/out_file.ps" Type=Color Size=15.0 SquareFrame=No Copies=1 \ Orientation=Portrait
#!/bin/sh # /usr/LOA/bin (directory) contains: # Mgraph # Mgraph_with_cgi_example (creates a surface data file) # My_com_file (command file for Mgraph) # /usr/local/bin/ (directory) contains: # ghostscript # ps2gif #creation of data /usr/LOA/bin/Mgraph_with_cgi_example > /tmp/WWW/out_file #Mgraph call (creation of PS file, the command file(My_com_file) exist) /usr/bin/rm -f /tmp/WWW/out_file.ps /usr/LOA/bin/Mgraph /usr/LOA/bin/My_com_file > /dev/null #Convert postscript in gif /usr/local/bin/ps2gif /tmp/WWW/out_file.ps /tmp/WWW/out_file.gif > /dev/null # /Mgraph_tmp/ (directory) is a link on /tmp/ # This is fixed by Apache Administrator (see access.conf) echo "Content-type: text/html \n\n" echo "<HTML>" echo "<HEAD>" echo "<TITLE>The Mgraph's output</TITLE>" echo "</HEAD>" echo "<BODY>" echo '<IMG SRC="/Mgraph_tmp/WWW/out_file.ps">' echo '<IMG SRC="/Mgraph_tmp/WWW/out_file.gif">' echo "</BODY>" echo "</HTML>"
#!/usr/local/bin/perl #Names of the files $process_id = $$; $out_file =join(".",$process_id,"Mgraph","out"); $com_file =join(".",$process_id,"Mgraph","com"); $ps_file =join(".",$process_id,"Mgraph","ps"); $gif_file =join(".",$process_id,"Mgraph","gif"); #Document head print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>The Mgraph's output</TITLE>\n"; print "</HEAD>\n"; print "<CENTER><H1>The Mgraph's output</H1>\n"; #The processing # Internal Creation of the command file open(COM,"> /tmp/WWW/$com_file"); print COM &CreeCom; close(COM); #calls #program call system(" /usr/LOA/bin/Mgraph_with_cgi_example > /tmp/WWW/$out_file"); #Mgraph call system(" /usr/bin/rm /tmp/WWW/$ps_file > /dev/null"); system(" /usr/LOA/bin/Mgraph /tmp/WWW/$com_file > /dev/null"); #Convert postscript in gif system(" /usr/local/bin/ps2gif /tmp/WWW/$ps_file /tmp/WWW/$gif_file > /dev/null"); #document foot print "<IMG SRC=\"/Mgraph_tmp/WWW/$gif_file\">\n"; print "</HTML>\n"; #the subroutine CreeCom creates the command file sub CreeCom { $output = "SetSignature \"\" \n"; $output .="ReadSurface File=\"/tmp/WWW/$out_file\" Mode=IRREGULAR Xcolumn=1 Ycolumn=2 Zcolumn=3 \n"; $output .="PlotTitle Title=\"Here is the result\" Height=1.00\n"; $output .="Grid Frame=Yes Xgrid=No Ygrid=No\n"; $output .="ContourDef Smooth=No Background=Transp ForeGround=Undef IdealDistance=1 Size=1 CFormat=\"\%.3g\"\n"; $output .="SurfaceLUT LutNumber=2\n"; $output .="AddObject Surface\n"; $output .="XTitle Title=\"X\" Height=1.00\n"; $output .="XAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1\n"; $output .="XLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat=\"\" Angle=0.0\n"; $output .="YTitle Title=\"Y\" Height=1.00\n"; $output .="YAxis Show=Yes Scale=Linear Min=-3 Max=3 Delta=-1 Color=Black Thickness=1\n"; $output .="YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat=\"\" Angle=0.0\n"; $output .="SendToFile File=\"/tmp/WWW/$ps_file\" Type=Color Size=15.0000 SquareFrame=No Orientation=Portrait \n"; }
cat DATA | Mgraph
Dans toutes les chaînes de caractères vous pouvez utiliser des symboles, des exposants, des indices, des accents. Il suffit de les encoder de la manière suivante:
Caractères spéciaux: | \n | retour à la ligne |
\\ | \ | |
Accents, etc. | \`e | è |
\'e | é | |
\ê | ê | |
\ë | ë | |
même chose pour a,e,i,o,u,A,E,I,O,U | ||
\'Y | Ý | |
\`y | \`y | |
\ÿ | ÿ |
Symboles | \pounds | £ |
\S | § | |
\copyright | © | |
\pm | ± | |
\P | ¶ | |
\AA | Å (Angstrom) | |
\AE | Æ | |
\cC | C | |
\ ~ N | Ñ | |
\times | × |
Symboles | \ss | ß |
\aa | å (angstrom) | |
\ae | æ | |
\cc | c | |
\ ~ n | ñ | |
\div | ¸ | |
\o | Æ | |
${a+b} | a+b | |
$mm | mm | |
$$ | $ |
exposants et indices | _{sub} | met en indice la chaîne 'sub' |
_nm | met en indice la lettre n | |
__ | _ | |
^{sup} | met en exposant la chaîne 'sup' | |
^nm | met en exposant la lettre n mais pas le m | |
^^ | ^ |
exemples:
A^{$a^2} | donne | Aa2 |
X^{y_{1+n}} | donne | Xy1+n |
A^i_j | donne | Aij |
Menu Files - > Read files | ||
Taper 0 dans l'éditeur X column | ||
Taper le numéro de la colonne dans l'éditeur Y column | ||
Exécuter Apply |
Menu Settings - > Axis setting | ||
utiliser user formula à la place de linear scale | ||
dans l'éditeur taper: -y | ||
Exécuter Apply |
Menu Settings - > Plot annotation | ||
Choisir `Extra axis' puis `Bottom axis' | ||
Mini:0 Maxi 10 Title:X 108 Color:black | ||
Exécuter Apply |
par exemple: la courbe Y1=f(X) a ses ordonnées comprises entre 0.5 et 1 et la courbe
Y2=f(X) a ses ordonnées comprises entre 0 et 100.
Les limites ont été automatiquement fixées à 0-100.
Menu Math - > Formula | ||
Taper l'équation: 'y1= (y1-0.5)*200' | ||
Exécuter Apply |
La courbe 1 est maintenant tracée entre 0 et 100
Menu Settings - > Plot_annotations | ||
Sélectionner Extra_axis et Right_axis en donnant les limites 0.5 et 1. | ||
Exécuter Apply |
Menu Math- > Formula | ||
Remplir les éditeurs X domain | ||
Taper l'équation: 'y1=y1' or 'x1=x1'. | ||
Exécuter Apply |
par exemple, vous avez tracé une courbe avec des écarts types. La légende sera représentée par 2 traits: la courbe et les écarts-types. Vous désirez ne conserver que la représentation de la courbe:
Menu Settings- > Edit legend | ||
visualisez la légende correspondant aux écarts types | ||
activez le bouton Masked |
Menu Math - > Formula | ||
écrire dans l'éditeur d'équation: | ||
y= y1 + rnd() | ||
Exécuter Apply |
Menu Settings- > Plot setting | ||
activer no frame | ||
Menu Settings- > Axis setting | ||
sélectionner X axis | ||
activer No axis | ||
sélectionner Y axis | ||
activer No axis |
Vous avez tracé 2 courbes y1=f(x1) et y2=f(x2). Les abscisses ne sont pas communes aux 2 courbes mais recouvrent le même espace. Vous voulez visualiser la corrélation entre les 2 fonctions, soit: y1=f(y2)
Menu Math - > Formula | ||
écrire dans l'éditeur d'équation: | ||
x1 = y2 |
De la même manière, vous pouvez exécuter la différence de 2 fonctions qui ont des abscisses différentes. ATTENTION ! Cette formulation nécessitant une interpolation sur les abscisses, elle peut prendre du temps si l'opération est effectuée sur un grand nombre de points.
Créez un fichier (AliasFile par ex) contenant les alias des noms de fichiers: | ||
ex: | @file1 "data1" | |
@file2 "data2" etc.. |
SetAlias | ||
Il suffit de rajouter: | ||
Readfile file=ÄliasesFile" | ||
puis d'utiliser @file1, @file2 etc... comme un alias ordinaire | ||
ex: ReadBinSurface File=@file1 |
pr -t -m -s' ' file1 file2 > file3 | ||
ou | paste file1 file2 > file3 |
Il suffit d'utiliser une police de caractères de type 8bits: Ajouter dans votre .Xdefaults:
"-Adobe-Courier-Bold-r-Normal-*-12-*-*-*-*-*-iso8859-*"
« iso8859 » est la référence de l'alphabet latin (spécification de l'ISO qui code sur 8 bits tous les caractères des langues latines avec les accents langues latines, seule subsiste une difficulté avec les ligatures comme le e dans l' o).
Les fichiers de commandes ci-dessous ont été créés directement par Mgraph interactif.
SetSignature "L.O.A. Computer Team " ############################################################# ReadSurface File="DATA/cos_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=2500 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="Mgraph perspective" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=60 Right/Left=45 GroundLevel=0 Stretch=0.93 Shift=0.09 GridSize=40 Color=Black Thickness=2 Add3DView Surface [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="X" Height=0.00 XAxis Show=Yes Scale=Linear Min=0 Max=49 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=0.00 YAxis Show=Yes Scale=Linear Min=0 Max=49 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 ZTitle Title="Z" Height=0.00 ZAxis Show=Yes Scale=Linear Min=-0.999984 Max=0.999989 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=2.0000 YStart=2.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] ############################################################# ReadSurface File="DATA/cos_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=2500 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="Mgraph perspective" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=60 Right/Left=45 GroundLevel=0 Stretch=0.93 Shift=0.09 GridSize=40 Color=Black Thickness=2 Add3DView Grid [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="X" Height=0.00 XAxis Show=Yes Scale=Linear Min=0 Max=49 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=0.00 YAxis Show=Yes Scale=Linear Min=0 Max=49 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 ZTitle Title="Z" Height=0.00 ZAxis Show=Yes Scale=Linear Min=-0.999984 Max=0.999989 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=12.0000 YStart=2.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] ############################################################# ReadSurface File="DATA/gerard_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=464 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="Radiometer field of view" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=-7 Xmax=8 Ymin=-7 Ymax=7] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=30 Right/Left=30 GroundLevel=0 Stretch=1 Shift=0.45 GridSize=40 Color=white Thickness=2 Add3DView Grid Surface [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="$t$_x" Height=1.00 XAxis Show=Yes Scale=Linear Min=-5.16 Max=7.212 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0 YTitle Title="$t$_y" Height=1.00 YAxis Show=Yes Scale=Linear Min=-6.402 Max=4.7 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="" Angle=0.0 ZTitle Title="Normalized signal intensity" Height=0.00 ZAxis Show=Yes Scale=Linear Min=-0.09414 Max=0.9998 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=12.0000 YStart=11.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] ############################################################# ReadSurface File="DATA/riedi_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=165 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=203 Xmax=217 Ymin=93 Ymax=103] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=15 Right/Left=35 GroundLevel=10.047 Stretch=1 Shift=0 GridSize=32 Color=Black Thickness=2 Add3DView Top Bottom Grid [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="X" Height=0.00 XAxis Show=Yes Scale=Linear Min=203 Max=217 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=0.00 YAxis Show=Yes Scale=Linear Min=93 Max=103 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 ZTitle Title="Z" Height=0.00 ZAxis Show=Yes Scale=Linear Min=9.46476 Max=10.6292 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=12.0000 YStart=20.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] ############################################################# ReadSurface File="DATA/cos_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=2500 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="Mgraph perspective" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=0 Xmax=49 Ymin=0 Ymax=49] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=60 Right/Left=45 GroundLevel=0.000918478 Stretch=0.77 Shift=0.09 GridSize=30 Color=White Thickness=2 Add3DView Grid Surface [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="X" Height=0.00 XAxis Show=Yes Scale=Linear Min=28.1786 Max=43.4406 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=0.00 YAxis Show=Yes Scale=Linear Min=7.47675 Max=29.71 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 ZTitle Title="Z" Height=0.00 ZAxis Show=Yes Scale=Linear Min=-0.999984 Max=0.999989 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=2.0000 YStart=11.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] ############################################################# ReadSurface File="DATA/riedi_surface.data" Mode=IRREGULAR \ Ncolumns=3 Nlines=165 LinesToSkip=0 Xcolumn=1 Ycolumn=2 Zcolumn=3 \ UndefValue=-8421 Zmin=-1 Zmax=-1 PlotTitle Title="" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] #BE CAREFUL!! Xmin, Xmax, Ymin and Ymax allows a surface rescale #REMOVE Square brackets if you use optional limits SurfaceGeometry [Xmin=203 Xmax=217 Ymin=93 Ymax=103] DistanceFactor=1 XYRatio=1 Interpolation=No 3DView Up/Down=15 Right/Left=30 GroundLevel=10.047 Stretch=1 Shift=0 GridSize=20 Color=Black Thickness=2 Add3DView Top Bottom Surface [Top Bottom Grid Surface] SurfaceLUT LutNumber=2 XTitle Title="X" Height=0.00 XAxis Show=Yes Scale=Linear Min=203 Max=217 Delta=-1 Color=Black Thickness=1 XLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 YTitle Title="Y" Height=0.00 YAxis Show=Yes Scale=Linear Min=93 Max=103 Delta=-1 Color=Black Thickness=1 YLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 ZTitle Title="Z" Height=0.00 ZAxis Show=Yes Scale=Linear Min=9.46476 Max=10.6292 Delta=-1 Color=Black Thickness=1 ZLabel LabelStep=-1 Reference=-1 LabelHeight=0.00 CFormat="" Angle=0.0 DrawCell XStart=2.0000 YStart=20.0000 Width=7.0000 Height=7.0000\ Type=Color Orientation=Portrait Mode=Margin[|ScaleToFrame] SendTo[EPS]File File="OUT/3D.ps" Type=Color [Copies=1] Orientation=Portrait
ReadSurface File="DATA/xtract_arm19961205" Mode=IRREGULAR \ Ncolumns=7 Nlines=900 LinesToSkip=0 Xcolumn=3 Ycolumn=2 Zcolumn=7 UndefValue=-8421 \ Zmin=0 Zmax=1050 PlotTitle Title="Rayleigh Pressure - ARM Site" Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No ContourDef Label=No IdealDistance=1 BackGround=transp ForeGround=Undef CFormat="%.3g" Size=1 SurfaceGeometry Xmin=1814 Xmax=1843 Ymin=954 Ymax=983 Interpolation=Yes DistanceFactor=1 XYRatio=1 SurfaceLUT LutNumber=2 AddObject Surface ColorScale Mode=Linear XStart=30% YStart=115% XEnd=70% YEnd=120% Min=0 Max=255 \ Color=Black Position=DownRight NoTick=No CFormat="%.0f" Size=1 \ List=0 0 500 500 1050 1050 XTitle Title="column nbr" Height=1.400 XAxis Scale=Linear Min=1814 Max=1843 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" YTitle Title="line nbr" Height=2.00 YAxis Scale=Linear Min=954 Max=983 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" DrawCell XStart=1.0000 YStart=0.5000 Width=9.0000 Height=9.0000 Type=Color Orientation=Portrait Mode=Margin Histogram "DATA/xtract_arm19961205" Ncolumns=7 Ycolumn=7 Nlines=900 LinesToSkip=0 Xmin=0 \ Xmax=1050 ClassSize=20 Cumulative=no YPercent=yes Style=Steps UndefValue=0 PlotTitle Title="Rayleigh Pressure - ARM Site - histogram" Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] LineStyle Curve=1 Style=Solid Color=Red LineWidth=3 XTitle Title="Rayleigh pressure (hPa)" Height=2.00 XAxis Scale=Linear Min=0 Max=1050 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" YTitle Title=" " Height=2.00 YAxis Scale=Linear Min=0 Max=40 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" DrawCell XStart=1.0000 YStart=10.0000 Width=9.0000 Height=9.0000 Type=Color Orientation=Portrait Mode=Margin ReadSurface File="DATA/xtract_arm19961205" Mode=IRREGULAR \ Ncolumns=7 Nlines=900 LinesToSkip=0 Xcolumn=3 Ycolumn=2 Zcolumn=6 UndefValue=-8421 \ DistanceFactor=1 Zmin=0 Zmax=4 PlotTitle Title="Phase - ARM Site" Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] ContourDef Label=No IdealDistance=1 BackGround=transp ForeGround=Undef CFormat="%.3g" Size=1 SurfaceGeometry Xmin=1814 Xmax=1843 Ymin=954 Ymax=983 Interpolation=Yes DistanceFactor=1 XYRatio=1 SurfaceLUT LutNumber=2 AddObject Surface [Region Surface Dots Triangles] ColorScale Mode=Boxes XStart=30% YStart=115% XEnd=70% YEnd=120% Min=0 Max=255 \ Color=Black Position=DownRight NoTick=No CFormat="%.0f" Size=2 \ List=0 "clear/undet." 1 "liquid" 2 "ice" 3 "mixte" XTitle Title="column nbr " Height=2.00 XAxis Scale=Linear Min=1814 Max=1843 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" YTitle Title="line nbr" Height=2.00 YAxis Scale=Linear Min=954 Max=983 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" DrawCell XStart=11.0000 YStart=0.5000 Width=9.0000 Height=9.0000 Type=Color Orientation=Portrait Mode=Margin Histogram "DATA/xtract_arm19961205" Ncolumns=7 Ycolumn=6 Nlines=900 LinesToSkip=0 Xmin=0 Xmax=4 Class=0.5 Cumulative=no YPercent=yes Style=Steps UndefValue=0 PlotTitle Title="Phase - ARM Site - histogram" Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] LineStyle Curve=1 Style=Solid Color=Red LineWidth=3 XTitle Title=" Thermodynamic Cloud Phase " Height=2.00 XAxis Scale=Linear Min=0 Max=4 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" YTitle Title=" " Height=2.00 YAxis Scale=Linear Min=0 Max=95.8949 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.600 Format="" PlotText XStart=61.28% YStart=2.82% Color=Black Style=Bold Height=1.00 Angle=0.00 Text="0=clear/undetermined\n1=liquid\n2=ice\n3=mixed" DrawCell XStart=11.0000 YStart=10.0000 Width=9.0000 Height=9.0000 Type=Color Orientation=Portrait Mode=Margin ReadFile File="DATA/ARM_19961205" Mode=XY Style=LinePlot \ NColumns=6 XColumn=2 YColumn=4 NLines=0 LinesToSkip=0 UndefValue=3.40282e+38 PlotTitle Title="MMCR Data - altitude" Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] LineStyle Curve=1 Style=Solid Color=Red LineWidth=4 XTitle Title="Time UTC" Height=2.00 XAxis Scale=Linear Min=1630 Max=1930 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" YTitle Title="Cloud top Altitude" Height=2.00 YAxis Scale=Linear Min=0 Max=12000 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" DrawCell XStart=1.0000 YStart=21.0000 Width=9.0000 Height=8.0000 Type=Color Orientation=Portrait Mode=Margin ReadFile File="DATA/ARM_19961205" Mode=XY Style=LinePlot \ NColumns=6 XColumn=2 YColumn=6 NLines=0 LinesToSkip=0 UndefValue=3.40282e+38 PlotTitle Title="MMCR Data - Temperature " Height=1.400 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] LineStyle Curve=1 Style=Solid Color=Red LineWidth=4 XTitle Title="Time UTC" Height=2.00 XAxis Scale=Linear Min=1630 Max=1930 Delta=-1 XLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" YTitle Title="Cloud temperature (kelvin)" Height=2.00 YAxis Scale=Linear Min=200 Max=300 Delta=-1 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.60 Format="" DrawCell XStart=11.0000 YStart=21.0000 Width=9.0000 Height=8.0000 Type=Color Orientation=Portrait Mode=Margin PageBox XStart=3.7000 YStart=19.0000 Xend=12.6000 YEnd=20.6000 Color=Black Thickness=.05 PageText XStart=4.0000 YStart=19.5000 Color=Black Style=Plain Height=0.4000 Angle=0.00 Text="POLDER data above the ARM site : 19961205 \nRayleigh pressure and thermodynamic cloud phase.\nARM site is located at the image center" AddLogo XStart=0.000 YStart=0.000 XScale=-1.000 YScale=0.000 SendToFile File="OUT/ARM.ps" Type=Color Size=15.0000 Copies=1 Orientation=Portrait
############################################################# ReadFile File="DATA/WORLD_MAP.gz" ReadFile File="DATA/Modis01.data" PlotTitle Title=" MODIS Land tiling for geolocated products (L2G and L3)" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=No [Yes | Light | No] ScaleToFrame LineStyle Curve=1 Style=Solid Color=Red Thickness=1 LineStyle Curve=2 Style=Solid Color=Blue Thickness=2 XTitle Title=" " Height=1.50 XAxis Scale=Formula Formula="x=x*cosd(y)" Min=-180 Max=180 Delta=10 Label=No YTitle Title="Latitude" Height=1.00 YAxis Scale=Linear Min=-90 Max=90 Delta=10 YLabel LabelStep=1 Reference=90 LabelHeight=0.50 CFormat="%.0f" # ******** Annotations ******** PlotText XStart=0.26% YStart=39.08% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="00" PlotText XStart=3.12% YStart=33.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="01" PlotText XStart=5.98% YStart=29.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="02" PlotText XStart=8.97% YStart=26.15% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="03" PlotText XStart=11.83% YStart=23.38% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="04" PlotText XStart=14.43% YStart=20.92% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="05" PlotText XStart=17.17% YStart=18.46% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="06" PlotText XStart=20.03% YStart=16.31% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="07" PlotText XStart=22.89% YStart=14.15% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="08" PlotText XStart=25.62% YStart=12.31% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="09" PlotText XStart=28.35% YStart=10.15% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="10" PlotText XStart=31.21% YStart=8.00% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="11" PlotText XStart=33.81% YStart=6.15% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="12" PlotText XStart=36.54% YStart=4.31% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="13" PlotText XStart=39.40% YStart=2.46% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="14" PlotText XStart=42.26% YStart=0.92% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="15" PlotText XStart=44.86% YStart=-0.62% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="16" PlotText XStart=47.85% YStart=-2.14% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="17" PlotText XStart=50.85% YStart=-2.14% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="18" PlotText XStart=53.71% YStart=-0.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="19" PlotText XStart=56.44% YStart=1.34% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="20" PlotText XStart=59.17% YStart=2.95% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="21" PlotText XStart=61.77% YStart=4.83% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="22" PlotText XStart=64.50% YStart=6.43% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="23" PlotText XStart=67.49% YStart=8.58% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="24" PlotText XStart=70.09% YStart=10.19% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="25" PlotText XStart=72.95% YStart=12.06% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="26" PlotText XStart=75.94% YStart=14.48% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="27" PlotText XStart=78.54% YStart=16.62% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="28" PlotText XStart=81.40% YStart=19.03% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="29" PlotText XStart=84.27% YStart=21.18% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="30" PlotText XStart=86.87% YStart=23.59% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="31" PlotText XStart=89.73% YStart=26.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="32" PlotText XStart=92.59% YStart=29.76% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="33" PlotText XStart=95.19% YStart=33.51% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="34" PlotText XStart=98.31% YStart=39.14% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="35" PlotText XStart=49.67% YStart=1.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="00" PlotText XStart=49.54% YStart=7.08% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="01" PlotText XStart=48.11% YStart=12.62% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="02" PlotText XStart=46.42% YStart=17.85% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="03" PlotText XStart=44.99% YStart=23.69% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="04" PlotText XStart=43.69% YStart=29.23% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="05" PlotText XStart=42.52% YStart=34.46% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="06" PlotText XStart=42.00% YStart=40.31% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="07" PlotText XStart=42.26% YStart=45.85% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="08" PlotText XStart=43.17% YStart=51.38% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="09" PlotText XStart=43.95% YStart=56.92% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="10" PlotText XStart=45.38% YStart=62.46% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="11" PlotText XStart=46.68% YStart=68.00% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="12" PlotText XStart=47.85% YStart=73.54% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="13" PlotText XStart=49.02% YStart=79.08% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="14" PlotText XStart=49.54% YStart=84.62% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="15" PlotText XStart=49.67% YStart=90.15% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="16" PlotText XStart=49.67% YStart=95.08% Color=Blue Style=Bold Height=0.40 Angle=0.00 Text="17" # ******** Annotations: End ******** DrawCell XStart=3.00 YStart=4.00 Width=15.00 Height=25.00 Type=Color Orientation=Landscape SendToFile File="OUT/Modis.ps" Type=Color
############################################################# ReadFile File="DATA/WORLD_MAP.gz" ReadFile File="DATA/Modis02A.data" PlotTitle Title=" MODIS coverage over USA : 7 granules - Equal-angle projection" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] ScaleToFrame LineStyle Curve=1 Style=Solid Color=Red Thickness=1 LineStyle Curve=2 Style=Solid Color=Blue Thickness=4 XTitle Title="Longitude" Height=1.00 XAxis Scale=Linear Min=-180 Max=-29.999 Delta=10 XLabel LabelStep=1 Reference=-30 LabelHeight=0.70 CFormat="%.0f" YTitle Title="Latitude" Height=1.00 YAxis Scale=Linear Min=10 Max=80 Delta=5 YLabel LabelStep=2 Reference=90 LabelHeight=0.70 CFormat="%.0f" DrawCell XStart=3. YStart=3. Width=15. Height=12. Type=Color ############################################################# ReadFile File="DATA/WORLD_MAP.gz" ReadFile File="DATA/Modis02B.data" PlotTitle Title=" MODIS coverage over USA : Tiles and granules foot prints\n(Sinusoidal projection)" Height=1.00 Grid Frame=Yes Xgrid=Yes Ygrid=Yes [Yes | Light | No] ScaleToFrame LineStyle Curve=1 Style=Solid Color=Red Thickness=1 LineStyle Curve=2 Style=Solid Color=Blue Thickness=2 LineStyle Curve=3 Style=Solid Color=Magenta Thickness=4 XTitle Title="Longitude" Height=1.00 XAxis Scale=Formula Formula="x=x*cosd(y)" Min=-180 Max=-29.99 NewMin=-118.4 NewMax=-9.99 Delta=10 XLabel LabelStep=1 Reference=-30 LabelHeight=0.70 CFormat="%.0f" YTitle Title="Latitude" Height=1.00 YAxis Scale=Linear Min=10 Max=80 Delta=5 YLabel LabelStep=2 Reference=90 LabelHeight=0.70 CFormat="%.0f" # ******** Annotations ******** PlotText XStart=100.48% YStart=4.07% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="01" PlotText XStart=98.22% YStart=19.86% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="02" PlotText XStart=94.18% YStart=33.25% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="03" PlotText XStart=90.31% YStart=48.56% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="04" PlotText XStart=87.08% YStart=62.68% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="05" PlotText XStart=84.81% YStart=77.03% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="06" PlotText XStart=83.20% YStart=90.91% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="07" PlotText XStart=5.01% YStart=91.15% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="07" PlotText XStart=4.85% YStart=76.79% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="06" PlotText XStart=4.85% YStart=62.68% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="05" PlotText XStart=4.85% YStart=48.09% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="04" PlotText XStart=10.50% YStart=33.01% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="07" PlotText XStart=20.03% YStart=27.51% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="08" PlotText XStart=29.40% YStart=22.01% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="09" PlotText XStart=38.45% YStart=16.99% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="10" PlotText XStart=47.33% YStart=12.44% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="11" PlotText XStart=56.87% YStart=7.18% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="12" PlotText XStart=65.91% YStart=2.39% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="13" PlotText XStart=75.12% YStart=-2.39% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="14" PlotText XStart=84.98% YStart=-4.55% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="15" PlotText XStart=94.18% YStart=-4.55% Color=Blue Style=Bold Height=0.70 Angle=0.00 Text="16" # ******** Annotations: End ******** DrawCell XStart=3. YStart=16. Width=15. Height=11.7 Type=Color SendToEPSFile File="OUT/Modis.eps" Type=Color
AddLogo XStart=27. YStart=4. XScale=.1 YScale=.1 PageText 15.2 2 Black Bold 1 0 "Etude de l'angle de polarisation" PageText 18 3.0 Black 0.5 0 "Zone : Madagascar" PageText 18 3.6 Black 0.5 0 "Jour : 12/11/96" PageText 18 4.2 Black 0.5 0 "Orbite : 3134" PageText 18 4.8 Black 0.5 0 "Nombre de pixels : 26" PageText 18 5.4 Black 0.5 0 "Coef. d'Angstr\"om moyen : 1.159" PageText 18 6 Black 0.5 0 "$t moyen : 0.371" # Surface ############## ReadBinSurface File="DATA/Madagascar_12-11-96.float" DataType=Float Ncolumns=91 Nlines=141 PlotTitle "Situation de la sc\`ene observ\'ee" 1.10 Grid Frame=No Xgrid=No Ygrid=No SurfaceGeometry [Xmin=0 Xmax=90 Ymin=0 Ymax=140] DistanceFactor=1 XYRatio=1 Interpolation=No ContourDef [Smooth=Yes|No] BackGround=Transp [White] ForeGround=Undef [Undef|White|Black]\ IdealDistance=1 Size=1 CFormat="%.3g" SurfaceLUT File="USER_LUTS/rainbow" SurfaceStretch Zmin=0 Zmax=0.5 FirstLevel=0 LastLevel=255 ColorScale Mode=Boxes [|Linear] XStart=0% YStart=101.5% XEnd=100% YEnd=106% Min=0 Max=255 \ Color=Black Position=DownRight NoTick=No CFormat="%.2f" Size=1.5 \ List= 0.1 0.10 0.15 0.15 0.2 0.20 0.25 0.25 0.3 0.30 0.35 0.35 0.4 0.40 0.45 0.45 0.5 0.50 AddObject Surface [Region Surface Dots Triangles] PlotBox 38 45 44 51 Black 0 5.0000 NoXLabel XTitle " " 1.00 XLimits 0 90 XLabel -1 0 -1 1.00 "" YTitle " " 1.00 NoYLabel YLimits 0 140 YLabel -1 0 -1 1.00 "" DrawCell 0.2 0.2 7.3 7 Color #Graphe 1 a ############## ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 7 0 0 3.40282e+38 ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 34 0 0 3.40282e+38 ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38 Grid Frame=Yes Xgrid=Light Ygrid=Light [Yes | Light | No] PlotTitle "Valeurs de Q \`a 865 nm\n" 1.10 LineStyle 1 NoLine Red 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Forest 1 MarkStyle 2 cross 5 LineStyle 3 NoLine violet 1 MarkStyle 3 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YTitle "\nLuminance" 1.50 YLabel -1 -1 -1 1.00 "" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"Q^{mesures}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"Q^{mod\`ele}_{sol noir}" PlotMark 32.5% -5.82% cross violet 5 PlotText 34% -7.35% Black Stand 1.50 0.00"Q^{II}_{a\'erosols}" # ******** Legend drawing end ******** DrawCell 0.7 7 7. 6.5 Color # Graphe 1 b ############## #ReadFile FileName [Style] Columns XColumn YColumn Lines LinesToSkip MissingValue ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 8 0 0 3.40282e+38 ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 35 0 0 3.40282e+38 ReadFile "DATA/quv_P1L1TBG1003134BD_1" ScatterPlot 0 2 38 0 0 3.40282e+38 Grid Frame=Yes Xgrid=Light Ygrid=Light [Yes | Light | No] PlotTitle "Valeurs de U \`a 865 nm\n" 1.10 LineStyle 1 NoLine Red 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Forest 1 MarkStyle 2 cross 5 LineStyle 3 NoLine violet 1 MarkStyle 3 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YTitle "\nLuminance" 1.50 YLabel -1 -1 -1 1.00 "" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"U^{mesures}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"U^{mod\`ele}_{sol noir}" PlotMark 32.5% -5.82% cross violet 5 PlotText 34% -7.35% Black Stand 1.50 0.00"U^{II}_{a\'erosols}" # ******** Legend drawing end ******** DrawCell 0.7 13.6 7. 6.5 Color # Graphe 2 a ############## ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 9 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 45 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38 Grid Frame=Yes Xgrid=Light Ygrid=Light [Yes | Light | No] PlotTitle "Taux de polarisation sign\'ee\n" 1.10 LineStyle 1 NoLine Red 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Blue 1 MarkStyle 2 cross 5 LineStyle 3 NoLine Forest 1 MarkStyle 3 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YTitle "\nPolarisation (%)" 1.50 YLabel -1 -1 -1 1.00 "" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"L^{mesures}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"L^{I}_{a\'erosols}" PlotMark 32.5% -5.82% cross violet 5 PlotText 34% -7.35% Black Stand 1.50 0.00"L^{II}_{a\'erosols}" # ******** Legend drawing end ******** DrawCell 8.0 7 7. 6.5 Color # Graphe 2 b ############## ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 8 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 47 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 39 0 0 3.40282e+38 Grid Frame=Yes Xgrid=No Ygrid=Light [Yes | Light | No] PlotTitle "Valeurs des angles de polarisation [0,90]\n" 1.10 LineStyle 1 NoLine Red 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Blue 1 MarkStyle 2 cross 5 LineStyle 3 NoLine Forest 1 MarkStyle 3 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YAxis Scale=Formula Formula="(90*(sign(y-90)+1)-sign(y-90)*y)*2" NewMin=0 NewMax=180 Min=0 Max=180 Delta=-1 # ******** Annotations ******** PlotAxis Location=LEFT Scale=Linear Min=0 Max=90 Delta=15 \ Color=Black Thickness=1 Title="\nAngle de polarisation" TitleHeight=1.50\ LabelStep=-1 Reference=0 LabelHeight=1.00 CFormat="%2.f" PlotAxis Location=Right Scale=Linear Min=0 Max=90 Delta=15 \ Color=Black Thickness=1 Title="" TitleHeight=1.50\ LabelStep=-1 Reference=0 LabelHeight=1.00 CFormat="%2.f" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"L^{mesures}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"L^{I}_{a\'erosols}" PlotMark 32.5% -5.82% cross violet 5 PlotText 34% -7.35% Black Stand 1.50 0.00"L^{II}_{a\'erosols}" # ******** Legend drawing end ******** DrawCell 14.5 7 7. 6.5 Color #Graphe 2 c ############## Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=8 Nlines=-1 LinesToSkip=0 \ Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38 Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=47 Nlines=-1 LinesToSkip=0\ Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38 Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=39 Nlines=-1 LinesToSkip=0 \ Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38 PlotTitle Title="Histogramme des angles de polarisation\n" Height=1.10 Grid Frame=Yes Xgrid=Light Ygrid=No [Yes | Light | No] #ScaleToFrame LineStyle Curve=3 Style=Solid Color=Forest Thickness=6 LineStyle Curve=2 Style=Solid Color=Blue Thickness=4 LineStyle Curve=1 Style=Solid Color=Red Thickness=2 XTitle Title="Angle de polarisation" Height=1.50 XAxis Scale=Linear Min=0 Max=180 Delta=15 XLabel LabelStep=1 Reference=-1 LabelHeight=1.00 CFormat="%.0f^o" YTitle Title="" Height=0 YAxis Scale=Linear Min=-1 Max=-1 Delta=10 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="%2.f%%" # ******** Legend drawing ******** PlotLine XStart=2.00% YStart=-5.10% XEnd=5% YEnd=-5.10% Color=Red Style=solid Thickness=6 PlotText XStart=6% YStart=-7.34% Color=Black Style=Stand Height=1.50 Angle=0.00 Text="L^{mesures}" PlotLine XStart=18.00% YStart=-5.10% XEnd=21% YEnd=-5.10% Color=Blue Style=solid Thickness=3 PlotText XStart=22% YStart=-7.34% Color=Black Style=Stand Height=1.50 Angle=0.00 Text="L^{I}_{a\'erosols}" PlotLine XStart=34.00% YStart=-5.10% XEnd=37% YEnd=-5.10% Color=Violet Style=solid Thickness=3 PlotText XStart=38% YStart=-7.34% Color=Black Style=Stand Height=1.50 Angle=0.00 Text="L^{II}_{a\'erosols}" # ******** Legend drawing end ******** DrawCell 21.7 7 7.35 6.5 Color # Graphe 3 a ############## ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 37 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 41 0 0 3.40282e+38 Grid Frame=Yes Xgrid=Light Ygrid=Light [Yes | Light | No] PlotTitle "Taux de polarisation sign\'ee\n" 1.10 LineStyle 1 NoLine Forest 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Violet 1 MarkStyle 2 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YTitle "\nPolarisation (%)" 1.50 YLabel -1 -1 -1 1.00 "" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"L^{II}_{a\'erosols}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"L^{mod\`ele}_{sol noir}" # ******** Legend drawing end ******** DrawCell 8.0 13.6 7. 6.5 Color # Graphe 3 b ############## ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 39 0 0 3.40282e+38 ReadFile "DATA/polar_psy_P1L1TBG1003134BD_1" ScatterPlot 0 2 43 0 0 3.40282e+38 Grid Frame=Yes Xgrid=No Ygrid=Light [Yes | Light | No] PlotTitle "Valeurs des angles de polarisation [0,90]\n" 1.10 LineStyle 1 NoLine Forest 1 MarkStyle 1 cross 5 LineStyle 2 NoLine Violet 1 MarkStyle 2 cross 5 XTitle "Angle azimutal" 1.50 XLabel -1 -1 -1 1.00 "" YAxis Scale=Formula Formula="(90*(sign(y-90)+1)-sign(y-90)*y)*2" \ NewMin=0 NewMax=180 Min=0 Max=90 Delta=-1 # ******** Annotations ******** PlotAxis Location=LEFT Scale=Linear Min=0 Max=90 Delta=15 \ Color=Black Thickness=1 Title="\nAngle de polarisation" TitleHeight=1.50\ LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="%2.f" PlotAxis Location=Right Scale=Linear Min=0 Max=90 Delta=15 \ Color=Black Thickness=1 Title="" TitleHeight=1.50\ LabelStep=-1 Reference=0 LabelHeight=1.00 CFormat="%2.f" # ******** Legend drawing ******** PlotMark 2.5% -5.82% cross Red 5 PlotText 4% -7.35% Black Stand 1.50 0.00"L^{II}_{a\'erosols}" PlotMark 17.5% -5.82% cross Forest 5 PlotText 19% -7.35% Black Stand 1.50 0.00"L^{mod\`ele}_{sol noir}" # ******** Legend drawing ******** DrawCell 14.5 13.6 7.4 6.5 Color # Graphe 3 c ############## Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=39 Nlines=-1 LinesToSkip=0 \ Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38 Histogram "DATA/polar_psy_P1L1TBG1003134BD_1" Ncolumns=0 Ycolumn=43 Nlines=-1 LinesToSkip=0 \ Xmin=0 Xmax=180 ClassSize=5 Cumulative=No YperCent=Yes Style=Steps UndefValue=3.40282e+38 PlotTitle Title="Histogramme des angles de polarisation\n" Height=1.10 Grid Frame=Yes Xgrid=Light Ygrid=No [Yes | Light | No] #ScaleToFrame LineStyle Curve=1 Style=Solid Color=Forest Thickness=6 LineStyle Curve=2 Style=Solid Color=Violet Thickness=4 XTitle Title="Angle de polarisation" Height=1.50 XAxis Scale=Linear Min=0 Max=180 Delta=15 XLabel LabelStep=1 Reference=-1 LabelHeight=1.00 CFormat="%.0f^o" YTitle Title="" Height=0 YAxis Scale=Linear Min=-1 Max=-1 Delta=10 YLabel LabelStep=-1 Reference=-1 LabelHeight=1.00 CFormat="%2.f%%" # ******** Legend drawing ******** PlotLine XStart=2.00% YStart=-5.10% XEnd=5% YEnd=-5.10% Color=Forest Style=solid Thickness=6 PlotText XStart=6% YStart=-7.34% Color=Black Style=Stand Height=1.50 Angle=0.00 Text="L^{II}_{a\'erosols}" PlotLine XStart=18.00% YStart=-5.10% XEnd=21% YEnd=-5.10% Color=Violet Style=solid Thickness=3 PlotText XStart=22% YStart=-7.34% Color=Black Style=Stand Height=1.50 Angle=0.00 Text="L^{mod\`ele}_{sol noir}" # ******** Legend drawing end ******** DrawCell 21.7 13.6 7.35 6.5 Color # Polar ############## ReadFile "DATA/tempo_graf_position" RoTeta ScatterPlot 0 3 5 0 0 3.40282e+38 ReadFile "DATA/tempo_graf_position" RoTeta ScatterPlot 0 4 2 0 0 3.40282e+38 PlotTitle "G\'eom\'etrie de la sc\`ene observ\'ee" 1.25 LineStyle 1 NoLine Red 1 MarkStyle 1 Bigdot 1 LineStyle 2 NoLine Blue 1 MarkStyle 2 Cross 1 XLimits -90 90 XLabel -1 -1 -1 1.00 "" YLimits -90 90 YLabel -1 -1 -1 1.00 "" Circular 0 0 90 0 0 Zenithal -8421 15 0 1 1 1 Black Azimuthal 15 0 1 1 1 0 0 Black # ******** Legend drawing ******** PlotMark -1.65% 8.57% Bigdot Red 1 PlotText -0.15% 7.04% Black Stand 1.50 0.00 " Soleil" PlotMark -1.65% 13.62% Bigdot Blue 1 PlotText -0.15% 12.09% Black Stand 1.50 0.00 " Satellite" # ******** Legend drawing end ******** DrawCell 8 0.2 6.4 7 Color SendToFile Orientation=Landscape File="OUT/psy_P1L1TBG1003134BD_1.ps"
AddLogo XStart=1.000 YStart=3.500 XScale=0.100 YScale=0.100 ############################################################# ReadFile File="DATA/eucrex.data" PlotTitle Title="EUCREX MISSION 204 (April 17, 1994)" Height=0.70 Grid Frame=Yes Xgrid=No Ygrid=No [Yes | Light | No] ScaleToFrame LineStyle Curve=1 Style=Solid Color=Red Thickness=3 LineStyle Curve=2 Style=Solid Color=Blue Thickness=6 LineStyle Curve=3 Style=Solid Color=Blue Thickness=6 LineStyle Curve=4 Style=Solid Color=Blue Thickness=6 LineStyle Curve=5 Style=Solid Color=Blue Thickness=6 LineStyle Curve=6 Style=Solid Color=Blue Thickness=6 LineStyle Curve=7 Style=Solid Color=Black Thickness=5 LineStyle Curve=8 Style=Solid Color=Black Thickness=5 LineStyle Curve=9 Style=Solid Color=Black Thickness=5 XTitle Title="LONGITUDE" Height=1.00 XAxis Scale=Linear Min=-6.5 Max=-1.5 Delta=0.25 XLabel LabelStep=4 Reference=-6.5 LabelHeight=1.00 CFormat="%1.1f^o" YTitle Title="LATITUDE" Height=1.00 YAxis Scale=Linear Min=47 Max=50 Delta=0.25 YLabel LabelStep=4 Reference=47 LabelHeight=1.00 CFormat="%2.0f^o" # ******** Annotations ******** PlotText XStart=84.43% YStart=27.22% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="Jersey" PlotText XStart=39.59% YStart=3.55% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="ENGLISH CHANNEL" PlotText XStart=63.79% YStart=90.73% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="Belle-Ile" PlotBox XStart=87.99% YStart=87.57% XEnd=89.12% YEnd=88.76% Color=Black Style=Solid Thickness=1 PlotText XStart=71.86% YStart=61.14% Color=Black Style=Plain Height=1.20 Angle=0.00 Text="BRITTANY" PlotText XStart=42.03% YStart=50.10% Color=Black Style=Plain Height=0.80 Angle=0.00 Text="Brest-Guipavas" PlotText XStart=48.78% YStart=62.52% Color=Black Style=Plain Height=0.80 Angle=0.00 Text="Quimper" PlotText XStart=86.87% YStart=84.22% Color=Black Style=Plain Height=0.80 Angle=0.00 Text="St Nazaire" PlotText XStart=9.01% YStart=85.40% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="ATLANTIC\n OCEAN\n \n" PlotText XStart=17.45% YStart=50.69% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="Ouessant" PlotBox XStart=48.59% YStart=64.89% XEnd=50.09% YEnd=66.07% Color=Black Style=Solid Thickness=1 PlotBox XStart=40.15% YStart=52.86% XEnd=42.03% YEnd=54.04% Color=Black Style=Solid Thickness=1 PlotText XStart=29.83% YStart=53.65% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="M" PlotText XStart=2.06% YStart=35.31% Color=Black Style=Plain Height=1.00 Angle=0.00 Text="O" # ******** Annotations: End ******** DrawCell XStart=2.0000 YStart=14.0000 Width=16.0000 Height=14.0000 ############################################################# # ******** Page annotations ******** PageText XStart=5.0000 YStart=3.5000 Color=Red Style=Bold Height=0.7000 \ Text="EUCREX'94 :\n\nEuropean Cloud Radiation Experiment" PageText XStart=6.0000 YStart=7.0000 Color=Black Style=Plain Height=0.7000 \ Text="FALCON (above the cloud) :\n\n - Microphysical measurements\n - POLDER downward viewing\n - Fluxes SW and LW" PageText XStart=6.0000 YStart=11.5000 Color=Black Style=Plain Height=0.7000 \ Text="ARAT (below the cloud):\n\n - Lidar upward viewing\n - Radiometer upward\n - Fluxes SW and LW" # ******** Page annotations: End ******** SendToFile File="OUT/eucrex.ps" Type=Color
Les fichiers de commandes ci-après ont été créés par des utilisateurs de Mgraph .
**********************************************************
AUTEURS
Gonzalez L. Deroo C.
Laboratoire d'Optique Atmosphérique
Université des Sciences et Technologies de Lille
U.F.R. de Physique Fondamentale
59655 Villeneuve d'Ascq Cedex
France
Email : sphinx@loa.univ-lille1.fr
Les auteurs tiennent à remercier :