diff options
Diffstat (limited to 'examples/graphstyles')
-rw-r--r-- | examples/graphstyles/density.jl | 86 | ||||
-rw-r--r-- | examples/graphstyles/errorbar.dat | 6 | ||||
-rw-r--r-- | examples/graphstyles/errorbar.jl | 19 | ||||
-rw-r--r-- | examples/graphstyles/histogram.jl | 29 | ||||
-rw-r--r-- | examples/graphstyles/usesymbol.jl | 41 |
5 files changed, 181 insertions, 0 deletions
diff --git a/examples/graphstyles/density.jl b/examples/graphstyles/density.jl new file mode 100644 index 0000000..957b487 --- /dev/null +++ b/examples/graphstyles/density.jl @@ -0,0 +1,86 @@ + +# Original Python: +# from pyx import * +# +# # Mandelbrot calculation contributed by Stephen Phillips +# +# # Mandelbrot parameters +# re_min = -2 +# re_max = 0.5 +# im_min = -1.25 +# im_max = 1.25 +# gridx = 100 +# gridy = 100 +# max_iter = 10 +# +# # Set-up +# re_step = (re_max - re_min) / gridx +# im_step = (im_max - im_min) / gridy +# d = [] +# +# # Compute fractal +# for re_index in range(gridx): +# re = re_min + re_step * (re_index + 0.5) +# for im_index in range(gridy): +# im = im_min + im_step * (im_index + 0.5) +# c = complex(re, im) +# n = 0 +# z = complex(0, 0) +# while n < max_iter and abs(z) < 2: +# z = (z * z) + c +# n += 1 +# d.append([re, im, n]) +# +# # Plot graph +# g = graph.graphxy(height=8, width=8, +# x=graph.axis.linear(min=re_min, max=re_max, title=r"$\Re(c)$"), +# y=graph.axis.linear(min=im_min, max=im_max, title=r'$\Im(c)$')) +# g.plot(graph.data.points(d, x=1, y=2, color=3, title="iterations"), +# [graph.style.density(gradient=color.rgbgradient.Rainbow)]) +# g.writeEPSfile() +# g.writePDFfile() +# g.writeSVGfile() + +using PyX +using LaTeXStrings + +# Mandelbrot parameters +re_min = -2 +re_max = 0.5 +im_min = -1.25 +im_max = 1.25 +gridx = 100 +gridy = 100 +max_iter = 10 + +# Set-up +re_step = (re_max - re_min) / gridx +im_step = (im_max - im_min) / gridy +# Julia note: indexing is opposite of what would be idiomatic Julia +d = zeros(gridx*gridy, 3) + +# Compute fractal +for re_index in 0:(gridx-1) + re = re_min + re_step * (re_index + 0.5) + for im_index in 0:(gridy-1) + im = im_min + im_step * (im_index + 0.5) + c = complex(re, im) + n = 0 + z = complex(0, 0) + while n < max_iter && abs(z) < 2 + z = (z * z) + c + n += 1 + end + d[re_index*gridy + im_index + 1, :] = [re, im, n] + end +end + +# Plot graph +g = graph.graphxy(height=8, width=8, + x=graph_axis.linear(min=re_min, max=re_max, title=L"$\Re(c)$"), + y=graph_axis.linear(min=im_min, max=im_max, title=L"$\Im(c)$")) +plot(g, graph_data.points(d, x=1, y=2, color=3, title="iterations"), + [graph_style.density(gradient=color_rgbgradient.Rainbow)]) +writeEPSfile(g, "density") +writePDFfile(g, "density") + diff --git a/examples/graphstyles/errorbar.dat b/examples/graphstyles/errorbar.dat new file mode 100644 index 0000000..bd33a65 --- /dev/null +++ b/examples/graphstyles/errorbar.dat @@ -0,0 +1,6 @@ +1 2 0.7 +2 3 0.9 +3 8 0.8 +4 13 1.2 +5 18 1.1 +6 21 1.3 diff --git a/examples/graphstyles/errorbar.jl b/examples/graphstyles/errorbar.jl new file mode 100644 index 0000000..94b80dc --- /dev/null +++ b/examples/graphstyles/errorbar.jl @@ -0,0 +1,19 @@ + +# Original Python: +# from pyx import * +# +# g = graph.graphxy(width=8) +# g.plot(graph.data.file("errorbar.dat", x=1, y=2, dy=3), +# [graph.style.symbol(), graph.style.errorbar()]) +# g.writeEPSfile("errorbar") +# g.writePDFfile("errorbar") +# g.writeSVGfile("errorbar") + +using PyX + +g = graph.graphxy(width=8) +plot(g, graph_data.file("examples/graphstyles/errorbar.dat", x=1, y=2, dy=3), + [graph_style.symbol(), graph_style.errorbar()]) +writeEPSfile(g, "errorbar") +writePDFfile(g, "errorbar") + diff --git a/examples/graphstyles/histogram.jl b/examples/graphstyles/histogram.jl new file mode 100644 index 0000000..ebe35c6 --- /dev/null +++ b/examples/graphstyles/histogram.jl @@ -0,0 +1,29 @@ + +# Original Python: +# from pyx import * +# +# d = graph.data.points([(1, 0.3), +# (2, -0.7), +# (3, -0.3), +# (4, 0.8), +# (5, 0.5)], x=1, y=2) +# +# g = graph.graphxy(width=8) +# g.plot(d, [graph.style.histogram()]) +# g.writeEPSfile("histogram") +# g.writePDFfile("histogram") +# g.writeSVGfile("histogram") + +using PyX + +d = graph_data.points([(1, 0.3), + (2, -0.7), + (3, -0.3), + (4, 0.8), + (5, 0.5)], x=1, y=2) + +g = graph.graphxy(width=8) +plot(g, d, [graph_style.histogram()]) +writeEPSfile(g, "histogram") +writePDFfile(g, "histogram") + diff --git a/examples/graphstyles/usesymbol.jl b/examples/graphstyles/usesymbol.jl new file mode 100644 index 0000000..af49f99 --- /dev/null +++ b/examples/graphstyles/usesymbol.jl @@ -0,0 +1,41 @@ + +# Original Python: +# from pyx import * +# +# # colors and symbols to use (alternatingly) +# colors = [color.rgb.red, color.rgb.green, color.rgb.blue, color.gray.black] +# symbols = [graph.style._diamondsymbol, graph.style._trianglesymbol, graph.style._circlesymbol] +# +# # create the graph styles to be used below +# symbol = graph.style.symbol(symbol=attr.changelist(symbols), +# symbolattrs=[deco.stroked.clear, +# attr.changelist([deco.filled([cc]) for cc in colors])]) +# line = graph.style.line(lineattrs=[attr.changelist(colors), +# attr.changelist([style.linestyle.solid])]) +# +# g = graph.graphxy(width=8, x=graph.axis.linear(min=0, max=1)) +# g.plot([graph.data.function("y(x) = x**%d" % i, points=8) for i in range(1, 7)], +# styles=[line, symbol]) +# g.writeEPSfile("usesymbol") +# g.writePDFfile("usesymbol") +# g.writeSVGfile("usesymbol") + +using PyX + +# colors and symbols to use (alternatingly) +colors = [color_rgb.red, color_rgb.green, color_rgb.blue, color_gray.black] +symbols = [graph_style._diamondsymbol, graph_style._trianglesymbol, graph_style._circlesymbol] + +# create the graph styles to be used below +symbol = graph_style.symbol(symbol=attr.changelist(symbols), + symbolattrs=[deco_stroked.clear, + attr.changelist([deco.filled([cc]) for cc in colors])]) +line = graph_style.line(lineattrs=[attr.changelist(colors), + attr.changelist([style_linestyle.solid])]) + +g = graph.graphxy(width=8, x=graph_axis.linear(min=0, max=1)) +plot(g, [graph_data_function("y(x) = x**$i", points=8) for i in 1:7], + styles=[line, symbol]) +writeEPSfile(g, "usesymbol") +writePDFfile(g, "usesymbol") + |