如何用tikz绘制以下油漆生长模型示意图

如何用tikz绘制以下油漆生长模型示意图

如何使用tikz绘制以下油漆生长模型示意图在此处输入图片描述

答案1

我提供两种不同的方法(TiZ 和 PGFPlots)。很难知道哪一个是最好的,因为我们不知道您是否想“手工”绘制图形(就像我做的那样),或者您有一个函数或一个数据文件......如果您有一个函数或数据文件,我会选择使用 PGFPlots 制作的第二个选项。

好吧,无论哪种情况,修改下列其中一张图片并使其适应您的需要都不难。

\documentclass[multi]{standalone}
\usepackage{pgfplots}

% options for the second picture
\pgfplotsset{compat=1.17}
\pgfplotsset{tick style={draw=none}}

\begin{document}\centering
\begin{tikzpicture}[line cap=round,scale=1.5]
\draw[-latex]   (-4,0) -- (4,0) node [above] {$r$};
\draw[-latex]   (0,0) node [below] {$O$} -- (0,4) node [right] {$q(r)$};
\draw[dashed]   (-1,0) -- (-1,3);
\draw[dashed]   (1,0) node[below] {$R_0$} -- (1,3);
\draw[dashed]   (2,0) node[below] {$(R+R_0)/2$} -- (2,1.2);
\node[below] at (3,0) {$R$};
\node[red]   at (3,3) {Ti{\itshape k}Z};
\draw[blue,thick] plot[rounded corners=0.5cm] coordinates {(-3,0) (-2,0.8) (-1.25,3) (1.25,3) (2,1.2) (3,0)};
\end{tikzpicture}

\begin{tikzpicture}
  \begin{axis}
    [%
      width=12cm,
      xmin=-4,
      xmax= 4,
      xtick={0,1,2,3},
      xticklabels={$O$,$R_0$,$(R+R_0)/2$,$R$},
      hide obscured x ticks=false,
      ymin= 0,
      ymax= 4,
      yticklabels={},
      axis lines=middle,
      domain=-3:3,
      smooth,
      xlabel={$r$}, 
      ylabel={$q(r)$}, 
      axis equal image=true,
   ]
   \addplot[blue,thick] coordinates {(-3,0) (-2,0.8) (-1.25,3) (1.25,3) (2,1.2) (3,0)};
   \addplot[dashed]     coordinates {(-1,0) (-1,3)};
   \addplot[dashed]     coordinates {(1,0)  (1,3)};
   \addplot[dashed]     coordinates {(2,0)  (2,1.2)};
   \node   [red]        at (3,3) {PGFPlots};
 \end{axis};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容