Tests and small fixes to Winston support

pull/21/head
Matti Pastell 2014-12-09 10:35:38 +02:00
parent 73fc1ee8e6
commit 89333e8005
8 changed files with 568 additions and 4 deletions

View File

@ -1,4 +1,4 @@
using Winston
import Winston
function Base.display(report::Report, m::MIME"image/png", data)
@ -26,9 +26,9 @@ function Base.display(report::Report, m::MIME"image/png", data)
#Don't use dpi for vector formats
if chunk[:fig_ext] in vector_fmts
savefig(data, full_name, width=chunk[:fig_width]*100, height=chunk[:fig_height]*100)
Winston.savefig(data, full_name, width=chunk[:fig_width]*100, height=chunk[:fig_height]*100)
else
savefig(data, full_name, width=chunk[:fig_width]*chunk[:dpi], height=chunk[:fig_height]*chunk[:dpi])
Winston.savefig(data, full_name, width=chunk[:fig_width]*chunk[:dpi], height=chunk[:fig_height]*chunk[:dpi])
end
report.fignum += 1

View File

@ -0,0 +1,59 @@
<<term=true>>=
using Winston
t = linspace(0, 2*pi, 100)
plot(t, sinc(t))
s = 1:10
plot(s, "r*")
@
<<echo=false; fig_cap="Random walk."; label="random"; fig_width=8; fig_height=4>>=
p = plot(cumsum(randn(1000, 1)))
xlabel("x")
ylabel("sinc(x)")
display(p)
@
<<dpi=200>>=
x = linspace(0, 3pi, 100)
c = cos(x)
s = sin(x)
p = FramedPlot(
title="title!",
xlabel="\\Sigma x^2_i",
ylabel="\\Theta_i")
add(p, FillBetween(x, c, x, s))
add(p, Curve(x, c, color="red"))
add(p, Curve(x, s, color="blue"))
display(p)
p = FramedPlot(
aspect_ratio=1,
xrange=(0,100),
yrange=(0,100))
n = 21
x = linspace(0, 100, n)
yA = 40 .+ 10randn(n)
yB = x .+ 5randn(n)
a = Points(x, yA, kind="circle")
setattr(a, label="a points")
b = Points(x, yB)
setattr(b, label="b points")
style(b, kind="filled circle")
s = Slope(1, (0,0), kind="dotted")
setattr(s, label="slope")
l = Legend(.1, .9, {a,b,s})
add(p, s, a, b, l)
display(p)
@

View File

@ -0,0 +1,117 @@
````julia
julia> using Winston
julia> t = linspace(0, 2*pi, 100)
100-element Array{Float64,1}:
0.0
0.0634665
0.126933
0.1904
0.253866
0.317333
0.380799
0.444266
0.507732
0.571199
5.77545
5.83892
5.90239
5.96585
6.02932
6.09279
6.15625
6.21972
6.28319
julia> plot(t, sinc(t))
````
![](figures/winston_formats_1_1.png)
````julia
FramedPlot(...)
````
````julia
julia> s = 1:10
1:10
julia> plot(s, "r*")
````
![](figures/winston_formats_1_2.png)
````julia
FramedPlot(...)
````
![Random walk.](figures/winston_formats_random_1.png)
````julia
x = linspace(0, 3pi, 100)
c = cos(x)
s = sin(x)
p = FramedPlot(
title="title!",
xlabel="\\Sigma x^2_i",
ylabel="\\Theta_i")
add(p, FillBetween(x, c, x, s))
add(p, Curve(x, c, color="red"))
add(p, Curve(x, s, color="blue"))
display(p)
p = FramedPlot(
aspect_ratio=1,
xrange=(0,100),
yrange=(0,100))
n = 21
x = linspace(0, 100, n)
yA = 40 .+ 10randn(n)
yB = x .+ 5randn(n)
a = Points(x, yA, kind="circle")
setattr(a, label="a points")
b = Points(x, yB)
setattr(b, label="b points")
style(b, kind="filled circle")
s = Slope(1, (0,0), kind="dotted")
setattr(s, label="slope")
l = Legend(.1, .9, {a,b,s})
add(p, s, a, b, l)
display(p)
````
![](figures/winston_formats_3_1.png)
![](figures/winston_formats_3_2.png)

View File

@ -0,0 +1,134 @@
.. code-block:: julia
julia> using Winston
julia> t = linspace(0, 2*pi, 100)
100-element Array{Float64,1}:
0.0
0.0634665
0.126933
0.1904
0.253866
0.317333
0.380799
0.444266
0.507732
0.571199
5.77545
5.83892
5.90239
5.96585
6.02932
6.09279
6.15625
6.21972
6.28319
julia> plot(t, sinc(t))
.. image:: figures/winston_formats_1_1.png
:width: 15 cm
.. code-block:: julia
FramedPlot(...)
.. code-block:: julia
julia> s = 1:10
1:10
julia> plot(s, "r*")
.. image:: figures/winston_formats_1_2.png
:width: 15 cm
.. code-block:: julia
FramedPlot(...)
.. figure:: figures/winston_formats_random_1.png
:width: 15 cm
Random walk.
.. code-block:: julia
x = linspace(0, 3pi, 100)
c = cos(x)
s = sin(x)
p = FramedPlot(
title="title!",
xlabel="\\Sigma x^2_i",
ylabel="\\Theta_i")
add(p, FillBetween(x, c, x, s))
add(p, Curve(x, c, color="red"))
add(p, Curve(x, s, color="blue"))
display(p)
p = FramedPlot(
aspect_ratio=1,
xrange=(0,100),
yrange=(0,100))
n = 21
x = linspace(0, 100, n)
yA = 40 .+ 10randn(n)
yB = x .+ 5randn(n)
a = Points(x, yA, kind="circle")
setattr(a, label="a points")
b = Points(x, yB)
setattr(b, label="b points")
style(b, kind="filled circle")
s = Slope(1, (0,0), kind="dotted")
setattr(s, label="slope")
l = Legend(.1, .9, {a,b,s})
add(p, s, a, b, l)
display(p)
.. image:: figures/winston_formats_3_1.png
:width: 15 cm
.. image:: figures/winston_formats_3_2.png
:width: 15 cm

View File

@ -0,0 +1,112 @@
\begin{juliaterm}
julia> using Winston
julia> t = linspace(0, 2*pi, 100)
100-element Array{Float64,1}:
0.0
0.0634665
0.126933
0.1904
0.253866
0.317333
0.380799
0.444266
0.507732
0.571199
5.77545
5.83892
5.90239
5.96585
6.02932
6.09279
6.15625
6.21972
6.28319
julia> plot(t, sinc(t))
\end{juliacode}
\includegraphics[width=\linewidth]{figures/winston_formats_1_1.pdf}
\begin{juliacode}
FramedPlot(...)
\end{juliacode}
\begin{juliacode}
julia> s = 1:10
1:10
julia> plot(s, "r*")
\end{juliacode}
\includegraphics[width=\linewidth]{figures/winston_formats_1_2.pdf}
\begin{juliacode}
FramedPlot(...)
\end{juliacode}
\begin{figure}[htpb]
\center
\includegraphics[width=\linewidth]{figures/winston_formats_random_1.pdf}
\caption{Random walk.}
\label{fig:random}
\end{figure}
\begin{juliacode}
x = linspace(0, 3pi, 100)
c = cos(x)
s = sin(x)
p = FramedPlot(
title="title!",
xlabel="\\Sigma x^2_i",
ylabel="\\Theta_i")
add(p, FillBetween(x, c, x, s))
add(p, Curve(x, c, color="red"))
add(p, Curve(x, s, color="blue"))
display(p)
p = FramedPlot(
aspect_ratio=1,
xrange=(0,100),
yrange=(0,100))
n = 21
x = linspace(0, 100, n)
yA = 40 .+ 10randn(n)
yB = x .+ 5randn(n)
a = Points(x, yA, kind="circle")
setattr(a, label="a points")
b = Points(x, yB)
setattr(b, label="b points")
style(b, kind="filled circle")
s = Slope(1, (0,0), kind="dotted")
setattr(s, label="slope")
l = Legend(.1, .9, {a,b,s})
add(p, s, a, b, l)
display(p)
\end{juliacode}
\includegraphics[width=\linewidth]{figures/winston_formats_3_1.pdf}
\includegraphics[width=\linewidth]{figures/winston_formats_3_2.pdf}

View File

@ -0,0 +1,117 @@
~~~~{.julia}
julia> using Winston
julia> t = linspace(0, 2*pi, 100)
100-element Array{Float64,1}:
0.0
0.0634665
0.126933
0.1904
0.253866
0.317333
0.380799
0.444266
0.507732
0.571199
5.77545
5.83892
5.90239
5.96585
6.02932
6.09279
6.15625
6.21972
6.28319
julia> plot(t, sinc(t))
~~~~~~~~~~~~~
![](figures/winston_formats_1_1.svg)
~~~~{.julia}
FramedPlot(...)
~~~~~~~~~~~~~
~~~~{.julia}
julia> s = 1:10
1:10
julia> plot(s, "r*")
~~~~~~~~~~~~~
![](figures/winston_formats_1_2.svg)
~~~~{.julia}
FramedPlot(...)
~~~~~~~~~~~~~
![Random walk.](figures/winston_formats_random_1.svg)
~~~~{.julia}
x = linspace(0, 3pi, 100)
c = cos(x)
s = sin(x)
p = FramedPlot(
title="title!",
xlabel="\\Sigma x^2_i",
ylabel="\\Theta_i")
add(p, FillBetween(x, c, x, s))
add(p, Curve(x, c, color="red"))
add(p, Curve(x, s, color="blue"))
display(p)
p = FramedPlot(
aspect_ratio=1,
xrange=(0,100),
yrange=(0,100))
n = 21
x = linspace(0, 100, n)
yA = 40 .+ 10randn(n)
yB = x .+ 5randn(n)
a = Points(x, yA, kind="circle")
setattr(a, label="a points")
b = Points(x, yB)
setattr(b, label="b points")
style(b, kind="filled circle")
s = Slope(1, (0,0), kind="dotted")
setattr(s, label="slope")
l = Legend(.1, .9, {a,b,s})
add(p, s, a, b, l)
display(p)
~~~~~~~~~~~~~
![](figures/winston_formats_3_1.svg)
![](figures/winston_formats_3_2.svg)

View File

@ -33,5 +33,6 @@ if VERSION.minor == 3
ref = readall(open("documents/gadfly_markdown_test_ref.md"))
@test result == ref
include("gadfly_formats.jl")
include("winston_formats.jl")
include("gadfly_formats.jl")
end

24
test/winston_formats.jl Normal file
View File

@ -0,0 +1,24 @@
using Weave
using Base.Test
weave("documents/winston_formats.txt", plotlib="Winston", doctype="tex")
result = readall(open("documents/winston_formats.tex"))
ref = readall(open("documents/winston_formats_ref.tex"))
@test result == ref
weave("documents/winston_formats.txt", plotlib="Winston", doctype="github")
result = readall(open("documents/winston_formats.md"))
ref = readall(open("documents/winston_formats_ref.md"))
@test result == ref
weave("documents/winston_formats.txt", plotlib="Winston", doctype="pandoc", fig_ext=".svg")
result = readall(open("documents/winston_formats.md"))
ref = readall(open("documents/winston_formats_svg_ref.md"))
@test result == ref
weave("documents/winston_formats.txt", plotlib="Winston", doctype="rst")
result = readall(open("documents/winston_formats.rst"))
ref = readall(open("documents/winston_formats_ref.rst"))
@test result == ref