Chciałbym umieścić numer rzędnej punktu w innym rozmiarze frontu i wyśrodkować pod jego nazwą:
Czy to jest możliwe?
(To jest mój rzeczywisty etykietowania: label || '\n' || elevation
)
Ignorując rozmiar czcionki na minutę, możesz osiągnąć pierwszą opcję, wyśrodkując etykietę nad punktem, w QGIS 1.9 masz możliwość wyśrodkowania tekstu pod sekcją wielu linii. Jeśli do wyrażenia podałeś znak nowej linii, możesz pozostawić puste pole „Zawiń na znak” (lub wstawię ukośnik w moim wyrażeniu zamiast „\ n” i ustawię go jako znak zawijania - znak zawijania nie pokazano). Spowoduje to ustawienie tekstu na środku jak w drugiej opcji. W przypadku pierwszej opcji możesz ustawić opcję wysokości linii na 2 lub 3.
Jednak zaawansowane etykietowanie QGIS ma tylko jedną opcję rozmiaru czcionki. Tak więc, aby osiągnąć różne rozmiary czcionek, myślę, że będziesz musiał dodać warstwę po raz drugi i ustawić tam czcionkę elewacji i pozycję.
Możesz osiągnąć to, co chcesz, korzystając z etykietowania opartego na regułach, ale musisz rozdzielić etykiety znajdujące się w jednym polu na dwa pola. Opcja Etykietowania opartego na regułach pozwala dodawać etykiety z różnych pól i dostosowywać je według własnych potrzeb, zmieniając nazwę czcionki, kolor, rozmiar i używając przesunięcia, aby umieścić je nad sobą.
Jak widać w poniższym przykładzie, umieściłem japońskie etykiety i angielskie etykiety w dwóch polach, a następnie kontrolowałem wygląd każdej etykiety tak, jak chciałem:
Aby to zrobić:
Layer properties -> Labels
Rule-Based Labeling
Offset
podPlacement
jedną z etykiet, aby mogły się znajdować nad sobą. W pierwszym polu etykiety użyłem następujących ustawień umieszczania:Dla drugiego pola etykiety użyłem następujących ustawień:
Testowany na QGIS 3.0.1, ale można go również zastosować w QGIS 2.18, ponieważ dostępna jest opcja etykietowania na podstawie reguł.
źródło
Niestety nie jest to jeszcze możliwe. Powiązaną niedawną dyskusję można znaleźć na stronie http://osgeo-org.1560.x6.nabble.com/HTML-tags-in-label-expresion-on-QGIS-2-0-1-td5084946.html .
Istnieje również istniejące żądanie funkcji .
źródło
Użyłem duplikatu tej samej warstwy i oznaczyłem oba miejsca docelowe odpowiednio powyżej i poniżej po zaznaczeniu opcji „pokaż wszystkie etykiety i funkcje dla wszystkich warstw” i działa!
źródło