I created a series of rule based symbols that allows me to display two pieces of information on the same symbol. Basically, I have one column coloring the top half and one column coloring the bottom. This worked fine as shown below.

However, since some of the data collection points are very close together, I need to have Qgis move the points around automatically so they don't overlap and I do not have to move them manually for rendering purposes every time I export the table with new data.

enter image description here

So, I tried using the Point Displacement style. This placed the symbols where I wanted them, but despite all the same rules as shown above being input into the renderer, I am only getting the first symbol for each point.

enter image description here

If I put the lower rules on top of the list, I only get the bottom half of the symbol, which shows that the issue seems to be it only renders the first part of the symbol for each point, despite it working correctly in the simple rule-based style.

enter image description here

Is there any way to get the whole symbol to show up, just as in the first image, but with the automatic redistribution of the Point Displacement style?


1 Answer 1


I think you would be better of by using a single symbol composed of two half circle and control the fill color of each half using data defined override. You may just use a CASE WHEN expression including the same expression as your rule based renderer Something like :

    WHEN *your first rule* THEN *color 1*
    WHEN *you second rule* THEN *color 2*

This way when you set the point displacement the renderer has only to displace one symbol (with two half) keeping everything together.

The downside of this solution is that you wont get a legend reflecting your color but you may keep your existing setting for legend and use this solution for map display

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.