The symbol diameter is computed as a function of the value z
to be plotted:
diameter = dmin + (dmax - dmin) * {(z - zmin)/(zmax - zmin)}^p
where dmin and dmax are defined as 0.1 and 1 units, so the symbol diameters range over an order of magnitude (and symbol areas over two); zmin
and zmax
are the observed range of the data, or the range over which the user wants the diameters to be computed; and p is a power defined by the user. The value of (z - zmin)/(zmax - zmin)
is the value of z
normalized, 0 - 1, to the range over which the symbol diameters are to be computed. After being raised to the power p
, which will result in a number in the range 0 to 1, this value is multiplied by the permissable range of diameters and added to the minimum diameter. This results in a diameter between 0.1 and 1 units that is proportional to the value of z
.
A p
value of 1
results in a linear rate of change. Values of p
less than unity lead to a rapid intial rate of change with increasing value of z
which is often suitable for displaying negatively skewed data sets, see the example below. In contrast, values of p
greater than unity result in an initial slow rate of change with increasing value of z
which is often suitable for displaying positively skewed data sets. Experimentation is usually necessary to obtain a satisfactory visual effect. See syms.pfunc
for a graphic demonstrating the effect of varying the p parameter.
If zmin
or zmax
are defined this has the effect of setting a minimum or maximum value of z
, respectively, beyond which changes in the value of z
do not result in changes in symbol diameter. This can be useful in limiting the effect of one or a few extreme outliers while still plotting them, they simply plot at the minimum or maximum symbol size and are not involved in the calculation of the range of z
over which the diameter varies.