-
Notifications
You must be signed in to change notification settings - Fork 19
/
fs_tikz_annotate.tex
119 lines (93 loc) · 3.4 KB
/
fs_tikz_annotate.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
\documentclass{article}
\usepackage{blindtext}
\usepackage{multicol}
\usepackage{caption}
\usepackage{bm}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
}
\usepackage{geometry}
\geometry{
a4paper,
noheadfoot=true,
left=1.0in,
right=1.0in,
top=1.0in,
bottom=1.0in
}
% url package
\usepackage{hyperref}
\usepackage{subcaption}
% Titling and Author
\title{Latex Tikz Examples, Annotate on Graph}
\author{\href{https://fanwangecon.github.io/}{Fan Wang}\thanks{https://fanwangecon.github.io, repository: \href{https://fanwangecon.github.io/Tex4Econ/}{Tex4Econ}}}
\date{\today}
\begin{document}
\maketitle
\section{Annotate Text in Figure}
\subsection{Slope and Intercept Annotate}
Draw axis below, and a line, middle of page, and annotate the slope of the intercept with arrows. Annotate with box without color.
\begin{verbatim}
\begin{center}
\begin{tikzpicture}
\draw (0,2) -- (0.25*\textwidth,2);
\draw (0,1) -- (0.5*\textwidth,1);
\end{tikzpicture}
\end{center}
\end{verbatim}
\bigskip
\begin{center}
\begin{tikzpicture}
\draw[->] (-1,0) -- (6,0) node[right] {$N_m$};
\draw[->] (0,-1) -- (0,6) node[above] {$N_{m^{\prime}}$};
% A. Clip area so that line below is only drawn inside finite box
\clip (-3,-1) rectangle (6,6);
% B. Draw a line with intercept and slope
\draw[line width=0.50mm,domain=-1:6,smooth,variable=\x, blue] plot ({\x},{1+\x*1.25});
% C. Draw Line pointing to Intercept of line
\draw[->, line width=0.75mm] (-1.7,2.2) -- (-0.1,1.1);
% D. Draw a transparent text box that wraps text
\node[text width=3cm] at (-1.4,3.25) {\large{$\bm{\alpha_i}$ (this is the position of the \textbf{x-intercept}), wrap text.}};
\end{tikzpicture}
\end{center}
\subsection{Anote Slope, X intercept and Y intercept}
Draw a line, then point to its slope, x and y intercepts.
\begin{enumerate}
\item Define the slope and y-intercept: $a_i, b_i$
\item Define and calculate the x-intercept: $c_i = -\frac{a_i}{b_i}$
\item Define the text that should appear for each element: $a_{desca}$
\item Drawing lines pointing to $a$, $b$ or $c$ points:
\begin{itemize}
\item direction: $d_i \in \left\{NE, SE, SW, NW\right\}$
\item rotation: $0 <= e_i <= 90$, which direction points to text
\item dist one: $f_i > 0 $, straight distance from origin
\item dist two: $g_i > 0 $, distance of line
\item point start: $h^o_i, h^o_i$, starting point based on the four pieces of information
\item point end: $h^d_i, h^d_i$, ending point based on the four pieces of information
\end{itemize}
\end{enumerate}
So end up drawing using $a$, $b$ for line, $h^o$ for one point $h*d$ line small segment.
\begin{verbatim}
\end{verbatim}
\bigskip
\begin{center}
\begin{tikzpicture}
\draw[->] (-1,0) -- (6,0) node[right] {$N_m$};
\draw[->] (0,-1) -- (0,6) node[above] {$N_{m^{\prime}}$};
% A. Clip area so that line below is only drawn inside finite box
\clip (-3,-1) rectangle (6,6);
% B. Draw a line with intercept and slope
\draw[line width=0.50mm,domain=-1:6,smooth,variable=\x, blue] plot ({\x},{1+\x*1.25});
% C. Draw Line pointing to Intercept of line
\draw[->, line width=0.75mm] (-1.7,2.2) -- (-0.1,1.1);
% D. Draw a transparent text box that wraps text
\node[text width=3cm] at (-1.4,3.25) {\large{$\bm{\alpha_i}$ (this is the position of the \textbf{x-intercept}), wrap text.}};
\end{tikzpicture}
\end{center}
\end{document}