Ich habe versucht, Stadtgrenzen-Polygone mit einem 3-Farben-Streifenmuster (rot, orange, grün) zu füllen, dessen jeweilige Dicke proportional zu 3 Variablen ist, die für jede Stadt unterschiedlich sind, deren Summe jedoch immer 104 beträgt (siehe Abbildung zum Beispiel). .
Ich habe ein Linienmuster mit 3 Linien festgelegt, rot, orange und grün. Durch Festlegen des Abstands auf 4 mm und Verwenden eines Feldrechnerausdrucks gelang es mir, die Breite jeder Farbe zu variieren:
Variable_1/104*4 #for red
Variable_2/104*4 #for orange
Variable_3/104*4 #for green
Die Ausdrücke zum Festlegen des Versatzes bewirken jedoch keine Änderung des Versatzes:
Variable_1/104*2 #for red
Variable_1/104*4 + Variable_2/104*2 #for orange
Variable_1/104*4 + Variable_2/104*4 + Variable_3/104*2 #for green
Gibt es etwas, das ich nicht richtig eingestellt habe?
Antworten:
Wenn wir das Problem anders angehen und jeden Zeilenversatz (0,1,2,3) vordefinieren und dann die Linienfarbe basierend auf einer Variablen ändern, können wir zum Endergebnis gelangen.
Angenommen, wie Sie zeigen, haben wir 4 gleich große Linien.
Getestetes Beispiel:
Nachfolgend finden Sie die Farbausdrücke und den gesamten QGIS-Stil, mit denen das Ergebnis erzielt wird.
Dies funktioniert für meinen Test, bei dem Variablen als v1, v2, v3 bezeichnet werden und die Variablenwerte 26, 52, 78, 0 sind (gleiche Teilungen von 104).
Farbausdrücke:
Offset 0 (oberste Zeile):
Offset 1:
Offset 2:
Offset 3 (unterste Zeile):
Vollständige Datei hier:
quelle