# IJulia rocks! So does Plotly. Check it out
using Plotly
api_key = "" # visit https://plot.ly/api to generate an API username and password
username = ""
Plotly.signin(username, api_key)
# Following data taken from http://julialang.org/ frontpage
benchmarks = ["fib", "parse_int", "quicksort3", "mandel", "pi_sum", "rand_mat_stat", "rand_mat_mul"]
platforms = ["Fortran", "Julia", "Python", "R", "Matlab", "Mathematica", "Javascript", "Go"]
data = {
platforms[1] => [0.26, 5.03, 1.11, 0.86, 0.80, 0.64, 0.96],
platforms[2] => [0.91, 1.60, 1.14, 0.85, 1.00, 1.66, 1.01],
platforms[3] => [30.37, 13.95, 31.98, 14.19, 16.33, 13.52, 3.41 ],
platforms[4] => [411.36, 59.40, 524.29, 106.97, 15.42, 10.84, 3.98 ],
platforms[5] => [1992.00, 1463.16, 101.84, 64.58, 1.29, 6.61, 1.10 ],
platforms[6] => [64.46, 29.54, 35.74, 6.07, 1.32, 4.52, 1.16 ],
platforms[7] => [2.18, 2.43, 3.51, 3.49, 0.84, 3.28, 14.60],
platforms[8] => [1.03, 4.79, 1.25, 2.36, 1.41, 8.12, 8.51]
}
pdata = [ {"x"=>benchmarks,"y"=>data[k],"bardir"=>"h","type"=>"bar","name"=>k} for k = platforms ]
layout = {
"title"=> "Julia benchmark comparison (smaller is better, C performance = 1.0)",
"barmode"=> "group",
"autosize"=> false,
"width"=> 900,
"height"=> 900,
"titlefont"=>
{
"family"=> "Open Sans",
"size"=> 18,
"color"=> "rgb(84, 39, 143)"
},
"margin"=> {"l"=>160, "pad"=>0},
"xaxis"=> {
"title"=> "Benchmark log-time",
"type"=> "log"
},
"yaxis"=> {"title"=> "Benchmark Name"}
}
response = Plotly.plot(pdata,["layout"=>layout])
# Embed in an iframe within IJulia
s = string("")
display("text/html", s)
# checkout https://plot.ly/api/ for more Julia examples!
# But to show off some other Plotly features:
x = 1:1500
y1 = sin(2*pi*x/1500.) + rand(1500)-0.5
y2 = sin(2*pi*x/1500.)
fish = {"x"=>x,"y"=> y1,
"type"=>"scatter","mode"=>"markers",
"marker"=>{"color"=>"rgb(0, 0, 255)","opacity"=>0.5 } }
fit = {"x"=> x,"y"=> y2,
"type"=>"scatter", "mode"=>"markers", "opacity"=>0.8,
"marker"=>{"color"=>"rgb(255, 0, 0)"} }
layout = {"autosize"=> false,
"width"=> 650, "height"=> 550,
"title"=>"Fish School",
"xaxis"=>{ "ticks"=> "",
"gridcolor"=> "white",
"zerolinecolor"=> "white",
"linecolor"=> "white",
"autorange"=> false,
"range"=>[0,1500] },
"yaxis"=>{ "ticks"=> "",
"gridcolor"=> "white",
"zerolinecolor"=> "white",
"linecolor"=> "white",
"autorange"=> false,
"range"=>[-2.2,2.2] },
"plot_bgcolor"=> "rgb(245,245,247)",
"showlegend"=> false,
"hovermode"=> "closest"}
response = Plotly.plot([fish, fit],["layout"=>layout])
s = string("")
display("text/html", s)