LaTeX tikz初探——利用emoji画GPS卫星2D分布图(2)

zhb提供的代码,我拿来啃了一段,写了些笔记注释。

emoji包需用LaTeX最新版本,实测texlive2018不行,texlive2020可以。
编译系统需要选择:LuaLatex

效果图:
在这里插入图片描述
笔记写注释里了

\documentclass[tikz,border=2pt]{standalone} 
\usepackage{ctex}
\usepackage{emoji}
\begin{document} 
\begin{tikzpicture}
\usetikzlibrary{intersections}
\usetikzlibrary{positioning}
\usetikzlibrary{calc}
\usetikzlibrary{quotes}
% \draw[help lines](-10,-10)grid(10,10); 
% 横轴
\node (ra) at (0,0){$-150^{\circ}$};
%\node (结点名称) at (结点坐标){结点内容}
\node (rb) at (55:1){$-120^{\circ}$};
\node (rc) at (55:2){$-90^{\circ}$};
\node (rd) at (55:3){$-60^{\circ}$};
\node (re) at (55:4){$-30^{\circ}$};
\node (rf) at (55:5){$0^{\circ}$};
\node (rg) at (55:6){$30^{\circ}$};
\node (rh) at (55:7){$60^{\circ}$};
\node (ri) at (55:8){$90^{\circ}$};
\node (rj) at (55:9){$120^{\circ}$};
\node (rk) at (55:10){$150^{\circ}$};
\node[draw opacity=0,left=0.6 of rh.west,rotate=55] {升交点角距};
%\node[透明度,在rh的西边0.6,转55]{文本};
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (ra) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rb) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rc) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rd) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (re) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5,name path = pathA] (rf) to +(13.7,0);
% \draw [虚线型:实线6.5pt虚线4pt,线宽1.5mm,线名字] (起点名称) to +(相对坐标)
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rg) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rh) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (ri) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rj) to +(11.7,0);
\draw [dash pattern=on 6.5pt off 4pt,line width=1.5] (rk) to +(11.7,0);
% 纵轴
\node (ca) at (1,-1){$143^{\circ}$};
\node (cb) at (3,-1){$203^{\circ}$};
\node (cc) at (5,-1){$263^{\circ}$};
\node (cd) at (7,-1){$323^{\circ}$};
\node (ce) at (9,-1){$23^{\circ}$};
\node (cf) at (11,-1){$83^{\circ}$};
\node (ct) at (13,-1){升交点赤经};
\draw [-stealth,line width=2] (ca) -- +(55:12)
% \draw [-箭头,线宽] (起点) -- +(相对极坐标55度长12mm)
	node[pos=0.09,inner sep=0,label={[below]0:2}](sa2){\emoji{satellite}}
	% node[01的位置,文字内空隙,结点标签={线下边0度写2}](名字){内容}
	node[pos=0.41,inner sep=0,label={[below]0:1}](sa1){\emoji{satellite}}
	node[pos=0.69,inner sep=0,label={[below]0:3}](sa3){\emoji{satellite}}
	node[pos=0.78,inner sep=0,label={[below]0:4}](sa4){\emoji{satellite}};
\draw [-stealth,line width=2] (cb) -- +(55:12)
	node[pos=0.15,inner sep=0,label={[below]0:2}](sb2){\emoji{satellite}}
	node[pos=0.24,inner sep=0,label={[below]0:4}](sb4){\emoji{satellite}}
	node[pos=0.53,inner sep=0,label={[below]0:3}](sb3){\emoji{satellite}}
	node[pos=0.91,inner sep=0,label={[below]0:1}](sb1){\emoji{satellite}};
\draw [-stealth,line width=2] (cc) -- +(55:12)
	node[pos=0.33,inner sep=0,label={[below]0:4}](sc4){\emoji{satellite}}
	node[pos=0.4,inner sep=0,label={[below]0:5}](sc5){\emoji{satellite}}
	node[pos=0.61,inner sep=0,label={[below]0:3}](sc3){\emoji{satellite}}
	node[pos=0.7,inner sep=0,label={[below]0:2}](sc2){\emoji{satellite}}
	node[pos=0.97,inner sep=0,label={[below]0:1}](sc1){\emoji{satellite}};
\draw [-stealth,line width=2] (cd) -- +(55:12)
	node[pos=0.05,inner sep=0,label={[below]0:7}](sd7){\emoji{satellite}}
	node[pos=0.15,inner sep=0,label={[below]0:4}](sd4){\emoji{satellite}}
	node[pos=0.235,inner sep=0,label={[below]0:1}](sd1){\emoji{satellite}}
	node[pos=0.415,inner sep=0,label={[below]0:2}](sd2){\emoji{satellite}}
	node[pos=0.683,inner sep=0,label={[below]0:4}](sd4){\emoji{satellite}}
	node[pos=0.78,inner sep=0,label={[below]0:3}](sd3){\emoji{satellite}};
\draw [-stealth,line width=2] (ce) -- +(55:12)
	node[pos=0.205,inner sep=0,label={[below]0:1}](se1){\emoji{satellite}}
	node[pos=0.52,inner sep=0,label={[below]0:2}](se2){\emoji{satellite}}
	node[pos=0.605,inner sep=0,label={[below]0:4}](se4){\emoji{satellite}}
	node[pos=0.865,inner sep=0,label={[below]0:3}](se3){\emoji{satellite}};
\draw [-stealth,line width=2,name path=pathB] (cf) -- +(55:12)
	node[pos=0.03,inner sep=0,label={[below]0:4}](sf4){\emoji{satellite}}
	node[pos=0.225,inner sep=0,label={[below]0:6}](sf6){\emoji{satellite}}
	node[pos=0.31,inner sep=0,label={[below]0:1}](sf1){\emoji{satellite}}
	node[pos=0.63,inner sep=0,label={[below]0:2}](sf2){\emoji{satellite}}
	node[pos=0.68,inner sep=0,label={[below]0:5}](sf5){\emoji{satellite}}
	node[pos=0.965,inner sep=0,label={[below]0:3}](sf3){\emoji{satellite}};
\node (cA) at (8.2,9){\bf{A}};
\node (cB) at (10.2,9){\bf{B}};
\node (cC) at (12.2,9){\bf{C}};
\node (cD) at (14.2,9){\bf{D}};
\node (cE) at (16.2,9){\bf{E}};
\node (cF) at (18.2,9){\bf{F}};
% 夹角55°
\path [name intersections={of=pathA and pathB,by=i1}];
% \path [命名交点={pathA和pathB称为i1}]

\draw [line width=2] ($(i1)+(0.6,0)$) arc(0:55:0.6);
% \draw [线宽] (计算出来一个新的点) 画弧(0度到55度半径0.6mm)
\node (in_se_deg) at ($(i1)+(15:1)$) {$\bf55^{\circ}$};
% \node (名称) at (计算出来一个新的点) {文本}

% 其他文字说明
\node (equator) at ($(i1)+(-10:2)$){赤道};
\draw [stealth-,line width=2] (sf1)--++(-60:1)edge["工作卫星"inner sep=0.1,-]++(0:1.8);
\draw [stealth-,line width=2] (sf6)--++(-60:1)edge["备用卫星"inner sep=0.1,-]++(0:1.8);
% \draw [箭头-,线宽] ()--++(相对极坐标-601mm)线文字[文本,内部间距0.1,箭头类型]++(相对极坐标01.8mm)
% 两个+意味着相对点会更新两遍,即画完一个点后,当前坐标原点移动到这个点,然后再以这个原点画下一个的相对坐标。
\end{tikzpicture} 
\end{document}

zhbnb!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值