mytwoaxistikz[data__,{xmin_,xmax_,ymin_,ymax_},mycolor__,{xlabel_,ylabel_},{rticks__,lticks__},
linelabel__,linepos__,plotaspectratio_:1]:=Block[{temp=data,axis1,axis2,textpos,line},
axis1="
\\begin{axis}[
scale only axis,
axis y line*=left,
xtick pos=left,
xscale="<>ToString[N@plotaspectratio]<>",
xmin="<>ToString[xmin]<>",xmax="<>ToString[xmax]<>",
ymin="<>ToString[ymin]<>",ymax="<>ToString[ymax]<>",
xlabel="<>xlabel<>",ylabel="<>ylabel<>",
ytick="<>ToString[lticks]<>"]\n";
textpos=StringJoin[Table["
\\node[] at (axis cs:"<>ToString[linepos[[z,1]]]<>","<>
ToString[linepos[[z,2]]]<>") {"<>linelabel[[z]]<>"};",
{z,Length@temp}]];
line=StringJoin[Table["
\\addplot[color="<>If[ListQ[mycolor[[z]]],
ToString[mycolor[[z,1]]]<>","<>ToString[mycolor[[z,2]]],
ToString[mycolor[[z]]]]<>",mark=none,line width=0.5mm] coordinates{\n"
<>StringJoin["("<>ToString[#[[1]]]<>","<>ToString[#[[2]]]<>")\n"&/@temp[[z]]]<>"};",
{z,Length@temp}]]
<>"\n\\end{axis}\n";
axis2="\n\\begin{axis}[
scale only axis,
axis y line*=right,
xtick pos=left,
xscale="<>ToString[N@plotaspectratio]<>",
xmin="<>ToString[xmin]<>",xmax="<>ToString[xmax]<>",
ymin="<>ToString[ymin]<>",ymax="<>ToString[ymax]<>",
ytick="<>ToString[rticks]<>"]\n";
"\\begin{tikzpicture}"<>axis1<>textpos<>line<>axis2<>"\n\\end{axis}\n\\end{tikzpicture}"
]
Exporting graphics to TikZ format with Mathematica
由 戴忠淵 於 2018年2月9日星期五
下午6:04 發表



讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~