Class: QgsDiagramRenderer

Evaluates and returns the diagram settings relating to a diagram for a specific feature.

Class Hierarchy

Inheritance diagram of qgis.core.QgsDiagramRenderer

Subclasses

QgsLinearlyInterpolatedDiagramRenderer

Alters the size of rendered diagrams using a linear scaling.

QgsSingleCategoryDiagramRenderer

Renders the diagrams for all features with the same settings

QgsStackedDiagramRenderer

Renders diagrams using mixed diagram render types. The size of the rendered diagram is given by a combination of subrenderers.

class qgis.core.QgsDiagramRenderer[source]

Bases: object

attributeLegend(self) bool[source]

Returns True if renderer will show legend items for diagram attributes.

Return type:

bool

clone(self) QgsDiagramRenderer | None[source]

Returns new instance that is equivalent to this one

Return type:

Optional[QgsDiagramRenderer]

convertSizeToMapUnits(self, size: QSizeF, context: QgsRenderContext)[source]

Converts size from mm to map units

Parameters:
diagram(self) QgsDiagram | None[source]
Return type:

Optional[QgsDiagram]

diagramAttributes(self) List[str]

Returns attribute indices needed for diagram rendering

Return type:

List[str]

diagramSettings(self) List[QgsDiagramSettings][source]

Returns list with all diagram settings in the renderer

diagramSettings(self, feature: QgsFeature, c: QgsRenderContext, s: QgsDiagramSettings) -> bool Returns diagram settings for a feature (or False if the diagram for the feature is not to be rendered). Used internally within renderDiagram()

Parameters:
  • feature – the feature

  • c – render context

  • s – out: diagram settings for the feature

Return type:

List[QgsDiagramSettings]

diagramSize(self, feature: QgsFeature, c: QgsRenderContext) QSizeF[source]

Returns size of the diagram (in painter units) or an invalid size in case of error

Parameters:
Return type:

QSizeF

static dpiPaintDevice(a0: QPainter | None) int[source]

Returns the paint device dpi (or -1 in case of error

Parameters:

a0 (Optional[QPainter])

Return type:

int

legendItems(self, nodeLayer: QgsLayerTreeLayer | None) List[QgsLayerTreeModelLegendNode]

Returns list of legend nodes for the diagram

Note

caller is responsible for deletion of QgsLayerTreeModelLegendNodes

Parameters:

nodeLayer (Optional[QgsLayerTreeLayer])

Return type:

List[QgsLayerTreeModelLegendNode]

readXml(self, elem: QDomElement, context: QgsReadWriteContext)[source]

Reads diagram state from a DOM element. Subclasses should ensure that _readXml() is called by their readXml implementation to restore the general QgsDiagramRenderer settings.

See also

writeXml()

Parameters:
referencedFields(self, context: QgsExpressionContext = QgsExpressionContext()) Set[str]

Returns the set of any fields required for diagram rendering

Parameters:

context (QgsExpressionContext = QgsExpressionContext()) – expression context the diagrams will be drawn using

Return type:

Set[str]

renderDiagram(self, feature: QgsFeature, c: QgsRenderContext, pos: QPointF | QPoint, properties: QgsPropertyCollection = QgsPropertyCollection())[source]

Renders the diagram for a specified feature at a specific position in the passed render context.

Parameters:
rendererName(self) str[source]
Return type:

str

setAttributeLegend(self, enabled: bool)[source]

Sets whether the renderer will show legend items for diagram attributes.

Parameters:

enabled (bool) – set to True to show diagram attribute legend

setDiagram(self, d: QgsDiagram | None)[source]
Parameters:

d (Optional[QgsDiagram])

sizeMapUnits(self, feature: QgsFeature, c: QgsRenderContext) QSizeF[source]

Returns size of the diagram for a feature in map units. Returns an invalid QSizeF in case of error

Parameters:
Return type:

QSizeF

writeXml(self, layerElem: QDomElement, doc: QDomDocument, context: QgsReadWriteContext)[source]

Writes diagram state to a DOM element. Subclasses should ensure that _writeXml() is called by their writeXml implementation to save the general QgsDiagramRenderer settings.

See also

readXml()

Parameters: