#1 Tue 19 September 2023 17:16
- LeForestier
- Juste Inscrit !
- Date d'inscription: 19 Sep 2023
- Messages: 4
QGIS: Expression de couleurs pour Etiquettes
Bonjour,
Je n'ai malheureusement pas trouvé mon bonheur donc je vous expose ici ma requête :
J'essaie de trouver une expression afin de colorier en rouge une seule étiquette composé de 2 valeurs (exemple: 'Nom' et 'Id'). Concrètement, voici l'expression que j'utilise pour mes étiquettes:
Code:
"Nom" || 'n' || "Id"
Je souhaiterais que "Id" soit colorié en une autre couleur (par exemple: cyan) mais que "Nom" garde son style et sa couleur original comme prédéfinis dans les propriétés. J'ai pourtant essayé pleins d'expression possibles mais sans succès. Je ne maitrise pas très bien les expressions et encore moins les expressions de couleurs...
Une âme charitable pour m'expliquer ?
Hors ligne
#2 Tue 19 September 2023 17:38
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS: Expression de couleurs pour Etiquettes
Bonjour apparement il faut passer par le HTML : https://georezo.net/forum/viewtopic.php?id=126650
Hors ligne
#4 Thu 21 September 2023 15:46
- LeForestier
- Juste Inscrit !
- Date d'inscription: 19 Sep 2023
- Messages: 4
Re: QGIS: Expression de couleurs pour Etiquettes
Bonjour,
alors pardonnez mon ignorance mais je ne comprend rien à HTML. La doc ne m'aide pas vraiment (ou alors elle n'est pas assez approfondi). Pour l'instant la seule solution que j'ai trouvé c'est de dupliquer toutes mes couches et de réaliser une étiquette différente pour chaque couche et ensuite les superposer ce qui est trèèèèès long et fastidieux...
Hors ligne
#5 Thu 21 September 2023 16:28
- damien_boilley
- Participant assidu
- Lieu: Grenoble
- Date d'inscription: 16 Apr 2009
- Messages: 224
Re: QGIS: Expression de couleurs pour Etiquettes
Bonjour,
En suivant la doc, je pense qu'en cochant "Permettre le formatage HTML", il vous faudrait mettre dans Valeur (en cliquant sur le bouton ε à droite) quelque chose comme :
Code:
format( '<span style="color:blue">%1</span> <br /> <span style="color:red">%2</span>', "Nom", "Id" )
Ainsi vous aurez Nom en bleu (c'est le %1), un saut de ligne (c'est le <br>),
et en dessous le Id en rouge (c'est le %2)
(je n'ai pas testé)
Hors ligne
#6 Thu 21 September 2023 18:52
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: Expression de couleurs pour Etiquettes
Bonjour,
Damien a tout bon.
alors pardonnez mon ignorance mais je ne comprend rien à HTML.
Honnêtement, ce n'est pas un tort, on peut pas tout connaître, non plus. Il n'y a rien à se faire pardonner.
La doc ne m'aide pas vraiment (ou alors elle n'est pas assez approfondi).
Faut avouer que nos traducteurs francophones ne se sont pas trop foulés là-dessus non plus mais je pensais l'image et le code assez expressifs ensemble, et en copiant le code dans QGIS, on peut identifier que "format" est une fonction dont la description peut aider à décrypter. Mais c'est peut-être aussi une question d'habitude. Désolé.
Après, peut-être avez-vous raison, et c'est pas pour dédouaner ceux qui rédigent la doc , mais je trouve assez compliqué de trouver la limite entre ce qui relève de QGIS pur et ce qui relève (dans le cas présent) de compétences relatives à du HTML. Donc jusqu'où la doc est-elle supposée aller pour aiguiller les gens et ne pas s'empêtrer dans d'autres "disciplines" qui ont déjà leurs tuto par ailleurs? Que considérer comme pré-requis?
Bref, si vous avez des pistes d'amélioration (pour le cas présent ou tout autre cas), je serais preneur et peux essayer de les pousser dans la doc. Ou vous pouvez vous-même les faire remonter là.
Hors ligne
#7 Fri 22 September 2023 11:55
- LeForestier
- Juste Inscrit !
- Date d'inscription: 19 Sep 2023
- Messages: 4
Re: QGIS: Expression de couleurs pour Etiquettes
Ça marche ! MERCI !
Vous venez de me faire gagner des heures de travail en moins c'est génial.
Petite rectification dans le code HTML, pour un retour à la ligne le "<br/>" ne fonctionne pas dans mon cas (je ne sais pas pourquoi d'ailleurs). Je l'ai donc remplacé par "<p>" et j'obtiens enfin le résultat escompté.
Concrètement voici le code:
Code:
format( '<span style="color:black">%1</span> <p> <span style="color:red">%2</span>', "Nom" , "Id" )
Pour vous répondre brièvement, je trouve le doc Qgis très complet. En générale il m'aiguille toujours pour trouver des solutions à mes requêtes. Effectivement là dans mon cas précis, on sort un peu du cadre Qgis. D’où mes difficultés à trouver une solution.
Concernant des pistes d'amélioration, peut-être approfondir un peu plus la définition et l'utilisation des expressions/fonctions pour le commun des mortels ? Peut-être avec plus d'exemples ?
A titre d'exemple les fonctions couleurs telles que "color_cmyk(100,50,0,10)" ou "project_color('Couleur Logo') → '20,140,50' " ne sont pas assez clair à mon sens. J'ai toujours pas compris comment les utiliser (même si je n'en ai plus l'utilité à présent).
Merci pour votre réactivité en tout cas !
Hors ligne