0%

tikz画图简介

latex使用tikz画图.
首先在开头引入包

1
\usepackage{tikz}

下面就可以使用命令画各种图了
当然要在环境中画图
1
2
3
\begin{tikzpicture}

\end{tikzpicture}

下面罗列一些命令
1
2
3
4
5
6
7
\draw (0,0) -- (1,1); %画一条线段,端点为(0,0),(1,0).
\draw[->] (0,0) -- (1,1);%画一条带箭头的线段,端点为(0,0),(1,0).箭头在右端点处。
\draw (0,0) circle(1);%在(0,0)处画一个半径为1的圆.
\draw (0,0) ellipse (2 and 1 );%画长轴为2,短轴为1的椭圆
\draw (0,0) -- (1,1) -- (2,0) -- cycle;%画一个三角形.
\draw (2,0) |- (3,1);%先画点(2,0)到线段(0,1)-(3,1)的垂线(竖线),再画该垂足到(3,1)的连线。
%当然tikz也有符号-|,用法和|-类似.

在tikz中,我们可以将\draw看做一个画笔,可在\draw[]的中括号里添加各种参数来控制画出图形的形状,如是画虚线还是实线,线段的粗细,若画的是一个封闭图形,可设置填充颜色。

node也是tikz中一个常用的命令,用法如下

1
2
3
\node (A) at (1,1) {$\mathcal{F}$};%在(1,1)处画点(A),显示为F.
\draw (0,0) -- node[below] {$a$} (1,0);%在线段(0,0),(1,0)中间下面显示点a.
\draw (0,0) -- (1,0) node[below] {$a$} ;%在点(1,0)下方显示a.

node的参数可以加多个方向,如可写node[above left]:表示在左上方显示,注意node实际是给出了一个小正方形区域,
而标记符号显示在中间.

1
2
\draw [domain=0:180] plot ({cos(\x)}, {sin(\x)});%这里\x表示x为变量,其取值范围为0-180度.注意要加中括号。

使用tikz画曲线最有力的就是利用贝塞尔曲线,即添加控制点,最多两个

1
2
\draw (0,0) .. controls (0,1) and (1,2)  ..  (3,2);%(0,1)和(1,2)是控制点,
%即曲线在(0,0)处的切线过(0,1),在(3,2)处的切线过(1,2).

画带箭头的线段,
引用包
1
\usetikzlibrary{decorations.markings}

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
\begin{tikzpicture}
\begin{scope}[decoration={
markings,
mark=at position 0.5 with {\arrow{>}}}
]
\draw[postaction={decorate}] (-1,0.5) .. controls (-0.6,0.5) and (-0.4,0.5) .. (0,0) node[below] {$P_{j}$};
\draw[postaction={decorate}] (0,0) .. controls (0.4,0) and (0.6,0) .. node[right] {$e_{j}$} (1,-0.5) node[below] {$P_{j+1}$};
\draw[postaction={decorate}] (1,-0.5) .. controls (1.4,-0.5) and (1.6,-0.5) .. (2,-1);

\end{scope}
\begin{scope}[decoration={
markings,
mark=at position 0.5 with {\arrow{<}}}
]
\draw[postaction={decorate}] (-1,1) .. controls (-0.6,1) and (-0.4,1) .. (0,1.5) node[above] {$P_{j^{*}+1}$};
\draw[postaction={decorate}] (0,1.5) .. controls (0.6,1.5) and (0.4,1.5) .. (1,2) ;
\draw[postaction={decorate}] (1,2) node[above] {$P_{j^*}$} .. controls (1.6,2) and (1.4,2) .. (2,2.5) ;
\end{scope}
\draw[->] (0.5,-0.5) .. controls (-2.5,-3.5) and (-3,5) .. node[left] {$\gamma_{j}$} (0.5,1.8);
\node (A) at (1,1) {$\mathcal{F}$};
\end{tikzpicture}

可运行看下图形,效果如下