Viac

Atribút CategoryList pre preddefinovanú farebnú rampu v pyQgs

Atribút CategoryList pre preddefinovanú farebnú rampu v pyQgs


Snažím sa štylizovať svoju vektorovú vrstvu v QGIS pomocou nasledujúceho kódu pythonu:

vrstva = iface.activeLayer () myStyle = QgsStyleV2 (). defaultStyle () defaultColorRampNames = myStyle.colorRampNames () ramp = myStyle.colorRamp (defaultColorRampNames [1]) pole = "počet" renderer = QgsCategorizedSymbolRenderer2 () setSourceColorRamp (rampa) layer.setRendererV2 (renderer) if iface.mapCanvas (). isCachingEnabled (): layer.setCacheImage (None) else: iface.mapCanvas (). refresh () layer.triggerRepaint ()

Ale pri vykonávaní tohto kódu sa všetky funkcie zafarbia na bielo. Teraz viem, že je to kvôli tomu, že odovzdávam prázdny druhý argument QgsCategorizedSymbolRendererV2 (pole, []). Problém je v tom, že nemôžem zistiť, čo by malo byť druhým argumentom, ak chcem použiť predvolenú farebnú rampu.


Dobre ... Vymyslel som spôsob, ako to urobiť.

Musel som použiť QgsGraduatedSymbolRendererV2 radšej než QgsCategorizedSymbolRendererV2

Tu je kód:

vrstva = iface.activeLayer () pole = "počet" myRenderer = QgsGraduatedSymbolRendererV2 () myRenderer.setClassAttribute (pole) myRenderer.setMode (QgsGraduatedSymbolRendererV2.EqualInterval) myRenderer.updateCenderService () defaultColorRampNames = myStyle.colorRampNames () ramp = myStyle.colorRamp (defaultColorRampNames [8]) myRenderer.updateColorRamp (ramp) layer.setRendererV2 (myRenderer) if iface.mapCanvas (). isCachingEnabled (): : iface.mapCanvas (). refresh () layer.triggerRepaint ()

Pozri si video: QGIS Python PyQGIS - Loading and symbolizing raster layers