首页 > 其他 > 详细

论文插图误差收敛图中效率三角的绘制方法

时间:2016-01-12 23:04:00      阅读:184      评论:0      收藏:0      [点我收藏+]

% Mind section ‘4.17 Custom annotations‘ of the PGFplots manual Revision 1.12 (2015/01/31).

\documentclass[margin=1cm]{standalone}

?

\usepackage{pgfplots}

?

\pgfplotsset{compat=newest}

?

%%% START MACRO %%%

\newcommand{\slopeTriangle}[5]

{

% #1. A点的横坐标相对位置,xmin+(#1)*(xB-xA)即为A的绝对横坐标

% #2. x方向的长度,既XB-XA的大小

% #3. y方向的偏移量, B点的纵坐标相对位置

% #4. 小三角的斜率

% #5. 绘图可选参数,控制颜色等属性

?

\pgfplotsextra

{

\pgfkeysgetvalue{/pgfplots/xmin}{\xmin}

\pgfkeysgetvalue{/pgfplots/xmax}{\xmax}

\pgfkeysgetvalue{/pgfplots/ymin}{\ymin}

\pgfkeysgetvalue{/pgfplots/ymax}{\ymax}

?

% 通过参数计算各变量.

\pgfmathsetmacro{\xA}{\xmin+(#1)*(\xmax-\xmin)}

\pgfmathsetmacro{\yA}{\ymin+#3*(\ymax-\ymin)}

\pgfmathsetmacro{\xB}{\xmin+(#1+#2)*(\xmax-\xmin)}

\pgfmathsetmacro{\yB}{\yA}

\pgfmathsetmacro{\xC}{\xB}

\pgfmathsetmacro{\yC}{\yB-(\xB-\xA)*#4}

?

% 定义ABC三点的坐标.

\coordinate (A) at (axis cs:\xA,\yA);

\coordinate (B) at (axis cs:\xB,\yB);

\coordinate (C) at (axis cs:\xC,\yC);

?

% 绘制斜率三角.

\draw[#5] (A)-- node[pos=0.5,anchor=south] {1}

(B)-- node[pos=0.5,anchor=west] {#4}

(C)--

cycle;

}

}

%%% END MACRO %%%

?

\begin{document}

\begin{tikzpicture}

\begin{axis}

[

%xtick={-0.1,0,1,1.1},

xlabel=$x$,

%ytick={-0.2,0,2,2.2},

ylabel style={rotate=-90},

ylabel=$y$,

unit vector ratio=2 1 1,

clip=false

]

\addplot[blue,domain=0:1] {-x};

\addplot[red,domain=0:1] {-2*x};

?

\slopeTriangle{0.8}{0.1}{0.8}{1}{blue}; % USE OF MACRO.

\slopeTriangle{0.8}{0.1}{0.65}{2}{red}; % USE OF MACRO.

\end{axis}

\end{tikzpicture}

\end{document}

技术分享

论文插图误差收敛图中效率三角的绘制方法

原文:http://www.cnblogs.com/yuehq/p/5125835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!