IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[Gnuplot] Variable utilisateur et commande font


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut [Gnuplot] Variable utilisateur et commande font
    Bonjour,

    Voulant modifier la police de mes labels j'arrive à faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FontLabel = " \" bold, 12\" "
     
    set xlabel "Temps [h:min]" font FontLabel
    sa fonctionne, mais je souhaiterais avoir mon font dans la variable FontLabel. Mais mes tentative ne donnent que des erreurs ....

    Si l'un de vous à une idées je suis preneur.

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 646
    Par défaut
    Bonjour,
    mes tentative ne donnent que des erreurs
    et, tu ne veux pas les partager ? radin !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut
    Bonjour,

    Il est vrai que j'ai eu quelque peu la flemme détendre mes délires syntaxiques... Puisqu'ils sont demandés voici les meilleurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    FontLabel = "font \"Bold, 12\""
    #jusque la j'étais encore lucide
    FontLabel = font "Bold, 12"
    FontLabel = "font". \"Bold, 12\""
    #Ensuite perte total de lucidité avec un passage par sprintf("").....
    #Puis un retour sur terre avec print
     
    FontLabel = print("font \"Bold, 12\"")
    #le print fonctionne trés bien dans la console remarquez, mais point dans ce code en script
    Je ne vois pas pourquoi le fait de mettre font dans une variable génère une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gnuplot> set xlabel "Temps [h:min]"   FontLabel
                                          ^
             "config.txt", line 28: unexpected or unrecognized token

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Peux-tu nous montrer ce que donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FontLabel = "bold,12"
    set xlabel "Temps [h:min]" font FontLabel


    Oops! je n'avais pas compris!
    Tu voudrais que le mot-clé ou la variable "font" soit inclus dans la valeur de ta variable FontLabel?
    Je ne pense pas que ce soit possible.

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 105
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 105
    Par défaut
    Citation Envoyé par Aelurus Voir le message
    sa fonctionne, mais je souhaiterais avoir mon font dans la variable FontLabel. Mais mes tentatives ne donnent que des erreurs ....

    Si l'un de vous à une idées je suis preneur.
    Y a pas que les tentatives ! Quelles horreurs...

    Citation Envoyé par Aelurus Voir le message
    Il est vrai que j'ai eu quelque peu la flemme détendre mes délires syntaxiques...
    Hé bien, ne les détends pas, alors.

    Citation Envoyé par Aelurus Voir le message
    Je ne vois pas pourquoi le fait de mettre font dans une variable génère une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gnuplot> set xlabel "Temps [h:min]"   FontLabel
                                          ^
             "config.txt", line 28: unexpected or unrecognized token
    Peut-être (sans doute) à cause des 5 doubles quotes ?
    Citation Envoyé par Aelurus Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FontLabel = "font". \"Bold, 12\""

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut
    Bonjour et merci des réponses,

    oui Jack-ft, c'est bien cela que je souhaite faire, chaque tentatives d’insertion de ce mot-clé dans la variable me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line .... : unexpected or unrecognized token
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    gnuplot> FontLabel = "font"." \" bold, 14\" "
    gnuplot> set xlabel "Temps [h:min]"  FontLabel
                                         ^
             unexpected or unrecognized token
     
    gnuplot> FontLabel = "font \" bold, 14\" "
    gnuplot> set xlabel "Temps [h:min]"  FontLabel
                                         ^
             unexpected or unrecognized token
     
    gnuplot>
    Et avec print c'est pas mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    gnuplot> FontLabel = "font \" bold, 14\" "           
    gnuplot> set xlabel "Temps [h:min]"  print {FontLabe}  
                                         ^
             unexpected or unrecognized token 
     
    gnuplot> print (FontLabel)  
    font " bold, 14" 
    gnuplot> set xlabel "Temps [h:min]"  print (FontLabe) 
                                         ^
             unexpected or unrecognized token
     
    gnuplot>
    Y a t'il une syntaxe particulière pour utiliser des mot-clés dans une variable.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Aelurus Voir le message
    c'est bien cela que je souhaite faire, chaque tentatives d’insertion de ce mot-clé dans la variable me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    line .... : unexpected or unrecognized token
    Y a t'il une syntaxe particulière pour utiliser des mot-clés dans une variable.
    Je ne connais pas bien gnuplot, mais, d'après la doc gnuplot, il semble qu'il faille bien respecter la syntaxe.

    Lorsque la doc dit:
    Syntax:
    set xlabel {"<label>"} {offset <offset>} {font "<font>{,<size>}"}
    {textcolor <colorspec>} {{no}enhanced}
    {rotate by <degrees> | rotate parallel | norotate}
    show xlabel
    il faut bien comprendre et respecter la syntaxe:
    Le mot set est le nom de la commande (modification d'option).
    Le mot xlabel est le nom de l'option à modifier.
    Les mots en rouge offset, font, textcolor, etc. sont des attributs de l'option xlabel.
    Tout ce qui est entre brackets (<label>, <offset>, <font>, <colorspec>, etc.) est variable et correspond à la valeur à donner à l'attribut de l'option.

    Tout ce qui est en couleur doit être tapé tel quel, car c'est analysé dans une 1ère phase (analyse lexicale statique) et reconnu par l'analyseur comme des mots-clés. Si tu mets autre chose, l'analyseur ne reconnaît pas le mot-clé attendu et provoque immanquablement l'erreur unexpected or unrecognized token.

    S'il n'y a pas d'erreur de syntaxe, alors la 2ème phase (interprétation ou exécution du code) peut avoir lieu.

    Tout le reste peut être remplacé par des variables dont le contenu sera interprété lors de cette 2ème phase (dynamique).

    Ce langage ne permet pas de remplacer les mots-clés par des variables. Il n'est pas possible de faire des choses comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    motFonte = font
    set xlabel "Temps [h:min]" motFonte "bold, 14"
    # ni
    directiveFonte = "font bold, 14" # Quels que soient le nombre et la nature des quotes!
    set xlabel "Temps [h:min]" directiveFonte
    Car, d'après la syntaxe, après avoir trouvé set xlabel, l'analyseur attend un label facultatif. Ici, il trouve la chaîne "Temps [h:min]" et il est content.
    Rq: s'il trouvait un nom de variable, il serait également content, même s'il n'en est pas encore à interpréter le contenu des variables.
    Ensuite, il attend un mot-clé parmi ceux cités en rouge. S'il trouve un nom de variable, comme motFonte ou directiveFonte, quand bien même cette variable aurait pour valeur un mot-clé, il ne sera pas content, car il analyse d'abord la syntaxe avant d'interpréter les variables.

    C'est un peu comme si tu voulais faire en bash:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    motFor='for'
    $motFor x in a b; do echo "$x"; done
    Ça ne marche tout simplement pas!
    ou alors, il faut utiliser eval qui, comme chacun le sait est evil...

    Remarque: si gnuplot comporte une commande eval, alors il est fort probable qu'il soit possible de faire ce que tu demandes, mais est-ce bien raisonnable?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Curieux
    Inscrit en
    Octobre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 5
    Par défaut
    Bonjour et merci jack-ft, pour la réponse.

    Je pense que je vais rester sur cette solution qui fonctionne et ne pas partir à la recherche de complication plus que nécessaire. Encore merci pour les explications.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/02/2007, 09h37
  2. Utilisez des variables dans une commande system()
    Par Invité1 dans le forum C++
    Réponses: 2
    Dernier message: 05/01/2007, 22h54
  3. Réponses: 5
    Dernier message: 17/08/2006, 10h10
  4. Réponses: 2
    Dernier message: 25/04/2006, 18h26
  5. Concaténation d'une variable dans une commande
    Par dreamanoir dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/03/2005, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo