@alexcjohnson's idea here would be a matchlength boolean attribute which would ride on top of matches and force the domains to match as well as the ranges. Maybe matchdomainlength ?
This would enable physically-square all-ranges-match facetted plots like this:
xaxis1: matchlength=true, anchor=y1, matches=y1
xaxis2: matchlength=true, anchor=y2, matches=x1
yaxis1: matchlength=true, anchor=x1, matches=x1
yaxis2: matchlength=true, anchor=x2, matches=y1
in the graphic below A=anchor and M=matches+matchlength=true:
