QGIS API Documentation 3.99.0-Master (21b3aa880ba)
Loading...
Searching...
No Matches
QgsDiagramSettings Class Reference

Stores the settings for rendering a single diagram. More...

#include <qgsdiagramrenderer.h>

Public Types

enum  DiagramOrientation { Up , Down , Left , Right }
 Orientation of histogram. More...
enum  Direction { Clockwise , Counterclockwise }
 Angular directions. More...
enum  LabelPlacementMethod { Height , XHeight }
enum  StackedDiagramMode { Horizontal , Vertical }
 Orientation of the stacked diagrams. More...

Public Member Functions

 QgsDiagramSettings ()
 QgsDiagramSettings (const QgsDiagramSettings &other)
 ~QgsDiagramSettings ()
QgsLineSymbolaxisLineSymbol () const
 Returns the line symbol to use for rendering axis in diagrams.
Direction direction () const
 Returns the chart's angular direction.
QList< QgsLayerTreeModelLegendNode * > legendItems (QgsLayerTreeLayer *nodeLayer) const
 Returns list of legend nodes for the diagram.
QgsDiagramSettingsoperator= (const QgsDiagramSettings &other)
QgsPaintEffectpaintEffect () const
 Returns the paint effect to use while rendering diagrams.
void readXml (const QDomElement &elem, const QgsReadWriteContext &context=QgsReadWriteContext())
 Reads diagram settings from XML.
void setAxisLineSymbol (QgsLineSymbol *symbol)
 Sets the line symbol to use for rendering axis in diagrams.
void setDirection (Direction direction)
 Sets the chart's angular direction.
void setPaintEffect (QgsPaintEffect *effect)
 Sets the paint effect to use while rendering diagrams.
void setShowAxis (bool showAxis)
 Sets whether the diagram axis should be shown.
void setSpacing (double spacing)
 Sets the spacing between diagram contents.
void setSpacingMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the content spacing.
void setSpacingUnit (Qgis::RenderUnit unit)
 Sets the unit for the content spacing.
void setStackedDiagramSpacing (double spacing)
 Sets the spacing between subdiagrams in a stacked diagram.
void setStackedDiagramSpacingMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale for the spacing between subdiagrams in a stacked diagram.
void setStackedDiagramSpacingUnit (Qgis::RenderUnit unit)
 Sets the unit for the spacing between subdiagrams in a stacked diagram.
bool showAxis () const
 Returns true if the diagram axis should be shown.
double spacing () const
 Returns the spacing between diagram contents.
const QgsMapUnitScalespacingMapUnitScale () const
 Returns the map unit scale for the content spacing.
Qgis::RenderUnit spacingUnit () const
 Returns the units for the content spacing.
double stackedDiagramSpacing () const
 Returns the spacing between subdiagrams in a stacked diagram.
const QgsMapUnitScalestackedDiagramSpacingMapUnitScale () const
 Returns the map unit scale for the spacing between subdiagrams in a stacked diagram.
Qgis::RenderUnit stackedDiagramSpacingUnit () const
 Returns the units for the spacing between subdiagrams in a stacked diagram.
void writeXml (QDomElement &rendererElem, QDomDocument &doc, const QgsReadWriteContext &context=QgsReadWriteContext()) const
 Writes diagram settings to XML.

Public Attributes

QColor backgroundColor
double barWidth = 5.0
QList< QString > categoryAttributes
QList< QColor > categoryColors
QList< QString > categoryLabels
DiagramOrientation diagramOrientation = QgsDiagramSettings::Up
bool enabled = true
QFont font
LabelPlacementMethod labelPlacementMethod = QgsDiagramSettings::Height
QgsMapUnitScale lineSizeScale
 Line unit scale.
Qgis::RenderUnit lineSizeUnit = Qgis::RenderUnit::Millimeters
 Line unit index.
double maximumScale = 0
 The maximum map scale (i.e.
double minimumScale = 0
 The minimum map scale (i.e.
double minimumSize = 0.0
 Scale diagrams smaller than mMinimumSize to mMinimumSize.
double opacity = 1.0
 Opacity, from 0 (transparent) to 1.0 (opaque).
QColor penColor
double penWidth = 0.0
double rotationOffset = 270
 Rotation offset, in degrees clockwise from horizontal.
bool scaleBasedVisibility = false
bool scaleByArea = true
QSizeF size
QgsMapUnitScale sizeScale
 Diagram size unit scale.
Qgis::RenderUnit sizeType = Qgis::RenderUnit::Millimeters
 Diagram size unit.
StackedDiagramMode stackedDiagramMode = QgsDiagramSettings::Horizontal

Detailed Description

Stores the settings for rendering a single diagram.

QgsDiagramSettings stores the settings related to rendering the individual diagrams themselves, while QgsDiagramLayerSettings stores settings which control how ALL diagrams within a layer are rendered.

Definition at line 363 of file qgsdiagramrenderer.h.

Member Enumeration Documentation

◆ DiagramOrientation

Orientation of histogram.

Enumerator
Up 
Down 
Left 
Right 

Definition at line 374 of file qgsdiagramrenderer.h.

◆ Direction

Angular directions.

Since
QGIS 3.12
Enumerator
Clockwise 

Clockwise orientation.

Counterclockwise 

Counter-clockwise orientation.

Definition at line 386 of file qgsdiagramrenderer.h.

◆ LabelPlacementMethod

Enumerator
Height 
XHeight 

Definition at line 367 of file qgsdiagramrenderer.h.

◆ StackedDiagramMode

Orientation of the stacked diagrams.

Since
QGIS 3.40
Enumerator
Horizontal 
Vertical 

Definition at line 396 of file qgsdiagramrenderer.h.

Constructor & Destructor Documentation

◆ QgsDiagramSettings() [1/2]

QgsDiagramSettings::QgsDiagramSettings ( )

Definition at line 1260 of file qgsdiagramrenderer.cpp.

◆ ~QgsDiagramSettings()

QgsDiagramSettings::~QgsDiagramSettings ( )
default

◆ QgsDiagramSettings() [2/2]

QgsDiagramSettings::QgsDiagramSettings ( const QgsDiagramSettings & other)

Definition at line 1267 of file qgsdiagramrenderer.cpp.

Member Function Documentation

◆ axisLineSymbol()

QgsLineSymbol * QgsDiagramSettings::axisLineSymbol ( ) const

Returns the line symbol to use for rendering axis in diagrams.

See also
setAxisLineSymbol()
showAxis()
Since
QGIS 3.12

Definition at line 1228 of file qgsdiagramrenderer.cpp.

◆ direction()

QgsDiagramSettings::Direction QgsDiagramSettings::direction ( ) const

Returns the chart's angular direction.

See also
setDirection()
Since
QGIS 3.12

Definition at line 1348 of file qgsdiagramrenderer.cpp.

◆ legendItems()

QList< QgsLayerTreeModelLegendNode * > QgsDiagramSettings::legendItems ( QgsLayerTreeLayer * nodeLayer) const

Returns list of legend nodes for the diagram.

Note
caller is responsible for deletion of QgsLayerTreeModelLegendNodes

Definition at line 1215 of file qgsdiagramrenderer.cpp.

◆ operator=()

QgsDiagramSettings & QgsDiagramSettings::operator= ( const QgsDiagramSettings & other)

Definition at line 1306 of file qgsdiagramrenderer.cpp.

◆ paintEffect()

QgsPaintEffect * QgsDiagramSettings::paintEffect ( ) const

Returns the paint effect to use while rendering diagrams.

See also
setPaintEffect()
Since
QGIS 3.12

Definition at line 1249 of file qgsdiagramrenderer.cpp.

◆ readXml()

void QgsDiagramSettings::readXml ( const QDomElement & elem,
const QgsReadWriteContext & context = QgsReadWriteContext() )

Reads diagram settings from XML.

Definition at line 220 of file qgsdiagramrenderer.cpp.

◆ setAxisLineSymbol()

void QgsDiagramSettings::setAxisLineSymbol ( QgsLineSymbol * symbol)

Sets the line symbol to use for rendering axis in diagrams.

Ownership of symbol is transferred to the settings.

See also
axisLineSymbol()
setShowAxis()
Since
QGIS 3.12

Definition at line 1233 of file qgsdiagramrenderer.cpp.

◆ setDirection()

void QgsDiagramSettings::setDirection ( Direction direction)

Sets the chart's angular direction.

See also
direction()
Since
QGIS 3.12

Definition at line 1353 of file qgsdiagramrenderer.cpp.

◆ setPaintEffect()

void QgsDiagramSettings::setPaintEffect ( QgsPaintEffect * effect)

Sets the paint effect to use while rendering diagrams.

Ownership of effect is transferred to the settings.

See also
paintEffect()
Since
QGIS 3.12

Definition at line 1254 of file qgsdiagramrenderer.cpp.

◆ setShowAxis()

void QgsDiagramSettings::setShowAxis ( bool showAxis)

Sets whether the diagram axis should be shown.

See also
showAxis()
setAxisLineSymbol()
Since
QGIS 3.12

Definition at line 1244 of file qgsdiagramrenderer.cpp.

◆ setSpacing()

void QgsDiagramSettings::setSpacing ( double spacing)
inline

Sets the spacing between diagram contents.

Spacing units are set via setSpacingUnit().

See also
spacing()
setSpacingUnit()
setSpacingMapUnitScale()
Since
QGIS 3.12

Definition at line 498 of file qgsdiagramrenderer.h.

◆ setSpacingMapUnitScale()

void QgsDiagramSettings::setSpacingMapUnitScale ( const QgsMapUnitScale & scale)
inline

Sets the map unit scale for the content spacing.

See also
spacingMapUnitScale()
setSpacing()
setSpacingUnit()
Since
QGIS 3.12

Definition at line 527 of file qgsdiagramrenderer.h.

◆ setSpacingUnit()

void QgsDiagramSettings::setSpacingUnit ( Qgis::RenderUnit unit)
inline

Sets the unit for the content spacing.

See also
spacingUnit()
setSpacing()
setSpacingMapUnitScale()
Since
QGIS 3.12

Definition at line 508 of file qgsdiagramrenderer.h.

◆ setStackedDiagramSpacing()

void QgsDiagramSettings::setStackedDiagramSpacing ( double spacing)
inline

Sets the spacing between subdiagrams in a stacked diagram.

Spacing units are set via setStackedDiagramSpacingUnit().

See also
stackedDiagramSpacing()
setStackedDiagramSpacingUnit()
setStackedDiagramSpacingMapUnitScale()
Since
QGIS 3.40

Definition at line 563 of file qgsdiagramrenderer.h.

◆ setStackedDiagramSpacingMapUnitScale()

void QgsDiagramSettings::setStackedDiagramSpacingMapUnitScale ( const QgsMapUnitScale & scale)
inline

Sets the map unit scale for the spacing between subdiagrams in a stacked diagram.

See also
stackedDiagramSpacingMapUnitScale()
setStackedDiagramSpacing()
setStackedDiagramSpacingUnit()
Since
QGIS 3.40

Definition at line 593 of file qgsdiagramrenderer.h.

◆ setStackedDiagramSpacingUnit()

void QgsDiagramSettings::setStackedDiagramSpacingUnit ( Qgis::RenderUnit unit)
inline

Sets the unit for the spacing between subdiagrams in a stacked diagram.

See also
stackedDiagramSpacingUnit()
setStackedDiagramSpacing()
setStackedDiagramSpacingMapUnitScale()
Since
QGIS 3.40

Definition at line 573 of file qgsdiagramrenderer.h.

◆ showAxis()

bool QgsDiagramSettings::showAxis ( ) const

Returns true if the diagram axis should be shown.

See also
setShowAxis()
axisLineSymbol()
Since
QGIS 3.12

Definition at line 1239 of file qgsdiagramrenderer.cpp.

◆ spacing()

double QgsDiagramSettings::spacing ( ) const
inline

Returns the spacing between diagram contents.

Spacing units can be retrieved by calling spacingUnit().

See also
setSpacing()
spacingUnit()
spacingMapUnitScale()
Since
QGIS 3.12

Definition at line 485 of file qgsdiagramrenderer.h.

◆ spacingMapUnitScale()

const QgsMapUnitScale & QgsDiagramSettings::spacingMapUnitScale ( ) const
inline

Returns the map unit scale for the content spacing.

See also
setSpacingMapUnitScale()
spacing()
spacingUnit()
Since
QGIS 3.12

Definition at line 537 of file qgsdiagramrenderer.h.

◆ spacingUnit()

Qgis::RenderUnit QgsDiagramSettings::spacingUnit ( ) const
inline

Returns the units for the content spacing.

See also
setSpacingUnit()
spacing()
spacingMapUnitScale()
Since
QGIS 3.12

Definition at line 517 of file qgsdiagramrenderer.h.

◆ stackedDiagramSpacing()

double QgsDiagramSettings::stackedDiagramSpacing ( ) const
inline

Returns the spacing between subdiagrams in a stacked diagram.

Spacing units can be retrieved by calling stackedDiagramSpacingUnit().

See also
setStackedDiagramSpacing()
stackedDiagramSpacingUnit()
stackedDiagramSpacingMapUnitScale()
Since
QGIS 3.40

Definition at line 550 of file qgsdiagramrenderer.h.

◆ stackedDiagramSpacingMapUnitScale()

const QgsMapUnitScale & QgsDiagramSettings::stackedDiagramSpacingMapUnitScale ( ) const
inline

Returns the map unit scale for the spacing between subdiagrams in a stacked diagram.

See also
setStackedDiagramSpacingMapUnitScale();
stackedDiagramSpacing()
stackedDiagramSpacingUnit()
Since
QGIS 3.40

Definition at line 603 of file qgsdiagramrenderer.h.

◆ stackedDiagramSpacingUnit()

Qgis::RenderUnit QgsDiagramSettings::stackedDiagramSpacingUnit ( ) const
inline

Returns the units for the spacing between subdiagrams in a stacked diagram.

See also
setStackedDiagramSpacingUnit()
stackedDiagramSpacing()
stackedDiagramSpacingMapUnitScale()
Since
QGIS 3.40

Definition at line 583 of file qgsdiagramrenderer.h.

◆ writeXml()

void QgsDiagramSettings::writeXml ( QDomElement & rendererElem,
QDomDocument & doc,
const QgsReadWriteContext & context = QgsReadWriteContext() ) const

Writes diagram settings to XML.

Definition at line 403 of file qgsdiagramrenderer.cpp.

Member Data Documentation

◆ backgroundColor

QColor QgsDiagramSettings::backgroundColor

Definition at line 435 of file qgsdiagramrenderer.h.

◆ barWidth

double QgsDiagramSettings::barWidth = 5.0

Definition at line 441 of file qgsdiagramrenderer.h.

◆ categoryAttributes

QList< QString > QgsDiagramSettings::categoryAttributes

Definition at line 411 of file qgsdiagramrenderer.h.

◆ categoryColors

QList< QColor > QgsDiagramSettings::categoryColors

Definition at line 410 of file qgsdiagramrenderer.h.

◆ categoryLabels

QList< QString > QgsDiagramSettings::categoryLabels

Definition at line 412 of file qgsdiagramrenderer.h.

◆ diagramOrientation

DiagramOrientation QgsDiagramSettings::diagramOrientation = QgsDiagramSettings::Up

Definition at line 439 of file qgsdiagramrenderer.h.

◆ enabled

bool QgsDiagramSettings::enabled = true

Definition at line 408 of file qgsdiagramrenderer.h.

◆ font

QFont QgsDiagramSettings::font

Definition at line 409 of file qgsdiagramrenderer.h.

◆ labelPlacementMethod

LabelPlacementMethod QgsDiagramSettings::labelPlacementMethod = QgsDiagramSettings::Height

Definition at line 438 of file qgsdiagramrenderer.h.

◆ lineSizeScale

QgsMapUnitScale QgsDiagramSettings::lineSizeScale

Line unit scale.

Definition at line 433 of file qgsdiagramrenderer.h.

◆ lineSizeUnit

Qgis::RenderUnit QgsDiagramSettings::lineSizeUnit = Qgis::RenderUnit::Millimeters

Line unit index.

Definition at line 428 of file qgsdiagramrenderer.h.

◆ maximumScale

double QgsDiagramSettings::maximumScale = 0

The maximum map scale (i.e.

most "zoomed in" scale) at which the diagrams will be visible. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no maximum scale visibility.

See also
minimumScale

Definition at line 461 of file qgsdiagramrenderer.h.

◆ minimumScale

double QgsDiagramSettings::minimumScale = 0

The minimum map scale (i.e.

most "zoomed out" scale) at which the diagrams will be visible. The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map. A scale of 0 indicates no minimum scale visibility.

See also
maximumScale

Definition at line 469 of file qgsdiagramrenderer.h.

◆ minimumSize

double QgsDiagramSettings::minimumSize = 0.0

Scale diagrams smaller than mMinimumSize to mMinimumSize.

Definition at line 472 of file qgsdiagramrenderer.h.

◆ opacity

double QgsDiagramSettings::opacity = 1.0

Opacity, from 0 (transparent) to 1.0 (opaque).

Definition at line 444 of file qgsdiagramrenderer.h.

◆ penColor

QColor QgsDiagramSettings::penColor

Definition at line 436 of file qgsdiagramrenderer.h.

◆ penWidth

double QgsDiagramSettings::penWidth = 0.0

Definition at line 437 of file qgsdiagramrenderer.h.

◆ rotationOffset

double QgsDiagramSettings::rotationOffset = 270

Rotation offset, in degrees clockwise from horizontal.

Definition at line 451 of file qgsdiagramrenderer.h.

◆ scaleBasedVisibility

bool QgsDiagramSettings::scaleBasedVisibility = false

Definition at line 453 of file qgsdiagramrenderer.h.

◆ scaleByArea

bool QgsDiagramSettings::scaleByArea = true

Definition at line 446 of file qgsdiagramrenderer.h.

◆ size

QSizeF QgsDiagramSettings::size

Definition at line 413 of file qgsdiagramrenderer.h.

◆ sizeScale

QgsMapUnitScale QgsDiagramSettings::sizeScale

Diagram size unit scale.

Definition at line 423 of file qgsdiagramrenderer.h.

◆ sizeType

Qgis::RenderUnit QgsDiagramSettings::sizeType = Qgis::RenderUnit::Millimeters

Diagram size unit.

Definition at line 418 of file qgsdiagramrenderer.h.

◆ stackedDiagramMode

StackedDiagramMode QgsDiagramSettings::stackedDiagramMode = QgsDiagramSettings::Horizontal

Definition at line 440 of file qgsdiagramrenderer.h.


The documentation for this class was generated from the following files: