Is markersize
what you are trying? If so, what is the problem exactly? I think you can tune the relation of the size of the markers with the plot size to get what you want:
julia> plot()
julia> for s in [ 10, 20, 30 ]
scatter!(rand(5),rand(5),markersize=s,label="$s")
end
julia> plot!(size=(500,500))
Gives:

Edit:
A very ugly workaround is the following. Plot one figure with the desired size and a symbol with markersize=100
, and save it svg, for example:
scatter([0.5],[0.5],markersize=100,size=(500,500),xlims=(0,1),ylims=(0,1))
savefig("plot.svg")

Open the plot.svg
file in Inkscape, and click on the x-axis, above you will see its width (in my case, 452.106).
Click on the circle, and see its width (diameter), in my case 181.
Therefore, a scatter circle of diameter 181 has diameter 181/452.106 in x-axis units, and corresponds
to markersize=100
. Therefore, to plot a symbol with diameter 1.0 you need markersize=100*(452.106/181)
. In other words, set
markerunit = 100*(452.106/181)
Finally, use these units to set the scatter size:
scatter([0.5],[0.5],markersize=markerunit,size=(500,500),xlims=(0,1),ylims=(0,1))
scatter!([0.25],[0.25],markersize=0.5*markerunit,size=(500,500),xlims=(0,1),ylims=(0,1))

Of course this only works if you maintain the overall plot appearance (size, legends, titles, etc), constant from the measure of sizes to the final plotting.