graphicspointdiagramjuliagadfly

setting point sizes when using Gadfly in Julia


In my attempts to practice Julia, I've made a program which draws a bifurcation diagram. My code is as follows:

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)

The output I get is this image: enter image description here

In order to make my plot look more like this: enter image description here I need to be able to set point sizes to as small as one pixel. Then by increasing the iteration length I should be able to get a better bifurcation diagram. Does anyone know how to set the point sizes in Gadfly diagrams in Julia?


Solution

  • [Just to encapsulate the comments as an answer...]

    Gadfly's Theme defaults can be changed. In particular, point_size is probably what you are looking for.

    For changing the automatic plot scale/range settings, have a look at Gadfly's Scale params.