Feature request #13559
Make it possible to control rendering order of diagrams
|Pull Request or Patch supplied:||No||Resolution:|
Sorry, I deleted the original feature request #13501 by accident!
Please add the possibility to force the renderer to draw bigger diagrams in the back and smaller ones on the top in order to avoid small diagrams being completely covered up by bigger ones.
Issue #13501 has been updated by Matthias Kuhn.
I implemented that 3 years ago in commit:7566dee .
Back then my idea was that if "show all labels (including colliding ones)" was turned on (IIRC that affected also the diagram placement) the sorting would happen.
The code is still there but it seems that there is no way to turn on "show all diagrams" from the gui at the moment. The only missing bit is this flag (or a new flag to precisely activate sorting).
... We figured out that "show all diagrams" is there but the sorting does not happen yet.
[FEATURE] Control over label rendering order
A new control for setting a label's "z-index" has been added to
the labeling properties dialog. This control (which also accepts
data-defined overrides for individual features) determines the order
in which label are rendered. Label layers with a higher z-index
are rendered on top of labels from a layer with lower z-index.
Additionally, the logic has been tweaks so that if 2 labels have
matching z-indexes, then:
- if they are from the same layer, a smaller label will be drawn
above a larger label
- if they are from different layers, the labels will be drawn in
the same order as the layers themselves (ie respecting the order
set in the legend)
Diagrams can also have their z-index set (but not data defined)
so that the order of labels and diagrams can be controlled.
Note that this does NOT allow labels to be drawn below the
features from other layers, it just controls the order in which
labels are drawn on top of all the layer's features.