[GIS] Changing symbol size using the “Size assistant” in QGIS

qgisrule-basedstyle

I need to change symbol size of a categorised shapefile.

For this I tried using the Size Assistant
(in the style menu: right click > change size > Data defined override > Size assistant)

enter image description here

However my 30.000 attributes have a very broad range in the column used to define size. Consider this an example of my dataset:

enter image description here

Each "Type" was categorized to have its own symbol. Now I want to change the size of that symbol by the column "number"using the Size Assistant. The problem is I can't figure out how to manually set my categories. Since there are a few outliers with a "number" value which is many times larger than the average, Size assistant automatically attributes the categories to be between 5.000 and 23.000. Since the majority of my data ranges between 1 and 100 I would rather have categories like: 1, 25, 100, 1000, 10.000+

Is there any way to do this in the size assistant or any other way? Important is that the categories keep their symbols and only the size changes. Preferrably without having to write 1000 rules since I have about 30 categories.

enter image description here

Edit:
I ended up adding an extra column to my attribute table dividing the large values in categories in order to deal with the huge outliers. After that, keeping the scale tot scale_exp and changing the one but last value to 0.3, as Hugo suggested did the trick.

Best Answer

In your case you would to represent size of the proportionality with a manual scale... It's not possible by this way as it show here

What you have to do is to define your mathematic function with scale_exp as the size assistant method:

enter image description here

Ex.

coalesce(scale_exp(Number, 1, 11000, 1, 10, 0.3),0)  

Coalesce replace the first value not null by 0.
First param: your Var
2: min value
3:max value
4:min size result
5:max size result
6: exponent param (the most important to you, try 0.3 and see).
Related Question