最初にカテゴリシンボルの対象となる項目「myint」を持つメモリレイヤを追加
layer=QgsVectorLayer('polygon?crs=epsg:2451','mypolygon','memory') layer.dataProvider().addAttributes([QgsField("myint", QVariant.Int)]) layer.updateFields() QgsProject.instance().addMapLayer(layer)
次にカテゴリ項目の設定
cats=[] # 項目値=1の時のシンボル val1 = 1 symbol1 = QgsFillSymbol.createSimple({'color': '0,0,255,255','outline_color': '0,0,255,255'}) label1 = 'label1' cat1 = QgsRendererCategory(val1, symbol1 , label1 ) cats.append(cat1) # 項目値=2の時のシンボル val2 = 2 symbol2 = QgsFillSymbol.createSimple({'color': '255,0,0,255','outline_color': '255,0,0,255'}) label2 = 'label2' cat2 = QgsRendererCategory(val2, symbol2 , label2 ) cats.append(cat2) renderer=QgsCategorizedSymbolRenderer('myint', cats) layer.setRenderer(renderer)