Scatter plot axes are always evaluated on the complete data range, no matter whether a marker can be drawn. Say e.g. you have two columns X and Y which you put on the X- and Y-axis, respectively. Obviously markers can only be drawn for data rows where both X and Y are not empty/NULL. However, the auto range of the X- and Y-axis is determined based on all values inside a given column. This can lead to very difficult to read charts and requires data limiting expressions or filters to be worked around which then need updating each time you put another column on one of the axes.
It would be great to have a simple default configuration item for "Evaluate axis expression on": "not empty". This should be available for all axes and specifically the size by axis must consider all columns used elswhere in the visualization such that Size by: count() does display a value which corresponds to the data volume displayed inside the visualization.
A simple example which illustrates the problem is attached.