Closed mgajda closed 1 year ago
Hello,
Just like for the Penrose backend (#54), can you provide me with:
Generates the PDF from input.asy
to output.pdf
with command asy -o output.pdf input.asy
or asy -outname output.pdf input.asy
.
An example script:
import graph;
size(9cm,8cm,IgnoreAspect);
string data="westnile.csv";
file in=input(data).line().csv();
string[] columnlabel=in;
real[][] A=in;
A=transpose(A);
real[] number=A[0], survival=A[1];
path g=graph(number,survival);
draw(g);
scale(true);
xaxis("Initial no.\ of mosquitoes per bird ($S_{M_0}/N_{B_0}$)",
Bottom,LeftTicks);
xaxis(Top);
yaxis("Susceptible bird survival",Left,RightTicks(trailingzero));
yaxis(Right);
real a=number[0];
real b=number[number.length-1];
real S1=0.475;
path h1=(a,S1)--(b,S1);
real M1=interp(a,b,intersect(h1,g)[0]);
real S2=0.9;
path h2=(a,S2)--(b,S2);
real M2=interp(a,b,intersect(h2,g)[0]);
labelx("$M_1$",M1);
labelx("$M_2$",M2);
draw((a,S2)--(M2,S2)--(M2,0),Dotted);
draw((a,S1)--(M1,S1)--(M1,0),dashed);
pen p=fontsize(10pt);
real y3=0.043;
path reduction=(M1,y3)--(M2,y3);
draw(reduction,Arrow,TrueMargin(0,0.5*(linewidth(Dotted)+linewidth())));
arrow(shift(-20,5)*Label(minipage("\flushleft{\begin{itemize}\item[1.]
Estimate proportion of birds surviving at end of season\end{itemize}}",100),
align=NNE),
(M1,S1),NNE,1cm,p,Arrow(NoFill));
arrow(shift(-24,5)*Label(minipage("\flushleft{\begin{itemize}\item[2.]
Read off initial mosquito abundance\end{itemize}}",80),align=NNE),
(M1,0),NE,2cm,p,Arrow(NoFill));
arrow(shift(20,0)*Label(minipage("\flushleft{\begin{itemize}\item[3.]
Determine desired bird survival for next season\end{itemize}}",90),align=SW),
(M2,S2),SW,arrowlength,p,Arrow(NoFill));
arrow(shift(8,-15)*Label(minipage("\flushleft{\begin{itemize}\item[4.]
Calculate required proportional reduction in mosquitoes\end{itemize}}",90),
align=NW),
point(reduction,0.5),NW,1.5cm,p,Arrow(NoFill));
Script taken from the Asymptote gallery: https://asymptote.sourceforge.io/gallery/2Dgraphs/westnile.asy
The Asymptote is distributed as Debian/Ubuntu package, and TeXLive package: apt-get install asymptote
.
Please note that while PDF, EPS, and PNG work out of the box on Debian/Ubuntu installations, the SVG, JPG output fails due to stringent ImageMagick security policy.
It would be nice to support asymptote diagramming tool for function charts: https://asymptote.sourceforge.io/