aspect ratio 3d
This commit is contained in:
parent
e37380fcd2
commit
5370d10cff
28
src/axes.jl
28
src/axes.jl
@ -642,8 +642,9 @@ function axis_limits(
|
|||||||
!has_user_lims &&
|
!has_user_lims &&
|
||||||
consider_aspect &&
|
consider_aspect &&
|
||||||
letter in (:x, :y) &&
|
letter in (:x, :y) &&
|
||||||
!(sp[:aspect_ratio] in (:none, :auto) || RecipesPipeline.is3d(:sp))
|
sp[:aspect_ratio] in (:none, :auto)
|
||||||
)
|
)
|
||||||
|
if !RecipesPipeline.is3d(:sp)
|
||||||
aspect_ratio = isa(sp[:aspect_ratio], Number) ? sp[:aspect_ratio] : 1
|
aspect_ratio = isa(sp[:aspect_ratio], Number) ? sp[:aspect_ratio] : 1
|
||||||
plot_ratio = height(plotarea(sp)) / width(plotarea(sp))
|
plot_ratio = height(plotarea(sp)) / width(plotarea(sp))
|
||||||
dist = amax - amin
|
dist = amax - amin
|
||||||
@ -665,8 +666,31 @@ function axis_limits(
|
|||||||
amin = center + factor * (amin - center)
|
amin = center + factor * (amin - center)
|
||||||
amax = center + factor * (amax - center)
|
amax = center + factor * (amax - center)
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if RecipesPipeline.is3d(:sp)
|
||||||
|
xs = sp[1][:x]
|
||||||
|
ys = sp[1][:y]
|
||||||
|
zs = sp[1][:z]
|
||||||
|
x12, y12, z12 = extrema(xs), extrema(ys), extrema(zs)
|
||||||
|
d = maximum([diff([x12...]),diff([y12...]),diff([z12...])])[1] / 2
|
||||||
|
xm, ym, zm = mean(x12), mean(y12), mean(z12)
|
||||||
|
amin = if letter == :x
|
||||||
|
xm-d
|
||||||
|
elseif letter == :y
|
||||||
|
ym-d
|
||||||
|
elseif letter ==:z
|
||||||
|
zm-d
|
||||||
|
end
|
||||||
|
amax = if letter == :x
|
||||||
|
xm+d
|
||||||
|
elseif letter == :y
|
||||||
|
ym+d
|
||||||
|
elseif letter ==:z
|
||||||
|
zm+d
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return amin, amax
|
return amin, amax
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user