Установка размеров точек при использовании Gadfly в Julia
В моих попытках практиковать Юлию я создал программу, которая рисует бифуркационную диаграмму. Мой код выглядит следующим образом:
function bifur(x0,y0,a=1.3,b=0.4,n=1000,m=10000)
i,x,y=1,x0,y0
while i < n && abs(x) < m
x,y = a - x^2 + y, b * x
i += 1
end
if abs(x) < m
return x
else
return 1000
end
end
la = Float64[];
lx = Float64[];
for a=0:400
for j = 1:1000
x0 = rand()
y0 = rand()
x = bifur(x0,y0,a/100)
if x != 1000
push!(la,a/100)
push!(lx,x)
end
end
end
using Gadfly
myplot = Gadfly.plot( x=la, y=lx , Scale.x_discrete, Scale.y_continuous, Geom.point)
draw(PNG("myplot.png",10inch,8inch),myplot)
На выходе я получаю это изображение:
Чтобы мой сюжет выглядел так:Мне нужно иметь возможность устанавливать размеры точек до одного пикселя. Затем, увеличив длину итерации, я смогу получить лучшую бифуркационную диаграмму. Кто-нибудь знает, как установить размеры точек на диаграммах Gadfly в Юлии?
2 ответа
[Просто чтобы заключить комментарии в качестве ответа...]
Темы Gadfly по умолчанию могут быть изменены. Особенно, default_point_size
это, вероятно, то, что вы ищете.
Чтобы изменить настройки автоматического масштабирования / диапазона, взгляните на параметры масштаба Gadfly.
Если изменение значений темы кажется слишком сложным, вы можете сделать это вplot
позвони напрямую. Вам необходимо предоставить массив того же размера, что и ваши x и y.
using Gadfly
x = rand(10)
y = rand(10)
p = plot(x=x, y=y, size=fill(2px, length(x)))