aspect_ratio =: равно на 3d графиках не всегда работает? Юлия Плотс.jl - PullRequest
0 голосов
/ 17 марта 2019

Я пытался построить сферы, но бывают случаи, когда команда aspect_ratio=:equal просто не работает, пример:

using Plots
function plotCC(pos, rad, n = 16) # Function to spheres
    u = collect(range(0,stop=2,length=n));
    v = collect(range(0,stop=1,length=n));
    x = pos * ones(n) * ones(n)' + rad * cospi.(u) * sinpi.(v)';
    y = rad * sinpi.(u) * sinpi.(v)';
    z = rad * repeat(cospi.(v)',outer=[n, 1])
    surface!(x,y,z, aspect_ratio=:equal)
end
plotlyjs(dpi=1500)
x = -15:0.1:10
y = -2:0.1:2
plot(x,y,(x,y) -> sin(x)*cos(y)*0.5, linetype=:surface, aspect_ratio=:equal, color=:magma)
plotCC(1,2,32)
plotCC(-15,3,32)
gui()

, который даст мне это: enter image description here

но если я нарисую вторую сферу с rad = 5, то это результат: enter image description here

Это какое-то ограничение Plots.jl? Похоже, он решает не делать aspect_ratio =: equal только потому, что данные слишком растянуты, но мне нужно построить их с одинаково масштабированной осью (иначе сферы не будут выглядеть так). Любой совет?

...