使用 PGFPlots 绘制矩形

使用 PGFPlots 绘制矩形

我是 LyX 的新用户,对 LyX 总体上没有太多经验,尤其是 LaTeX 软件包。

我发现可以使用 PGFPlots 绘制二维和三维图形和形状。

我发现一些 PDF 显示了如何绘制函数,但没有显示几何形状。我能够绘制函数,但我尝试绘制矩形,但我不知道该怎么做。

我在 LyX 工作,这是我的 Premables(编辑:最初没有发布它,因为我认为其中大部分内容不相关):

\renewcommand{\labelenumi}{\alph{enumi}.}
\renewcommand{\theenumii}{(\roman{enumii})}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\usepackage{dtk-logos}
\date{}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\fancyhf{}

这是我的函数图的 LaTeX 代码:

\begin{tikzpicture}
\begin{axis}
    \addplot [blue, line width = 1, smooth, domain=0:9] {sqrt(x)};
\end{axis}
\end{tikzpicture}

我想要添加的是矩形,如下所示:

  • x_i 是起始 x 值
  • x_f 是结束 x 值
  • h 是矩形的高度

我正在这个系统中描述它们,但我不知道它是否真的在 PGFPlots 中这样工作。

这些矩形是:

  1. (只是一条线 - 我想我能够为此绘制一个函数)

    • x_i = 0
    • x_f = 1
    • h = 0
    • x_i = 1
    • x_f = 4
    • h = 1
    • x_i = 4
    • x_f = 9
    • h = 2

我希望图表中有一个函数、矩形以及图表的名称。

抱歉,我问的太多了——我不知道该怎么做。如果这个问题违反了规则,请告诉我它违反了哪条规则。

提前致谢。

答案1

绘制矩形非常简单。

只有h = 0一个线。

MWE 应具有以下特征:

\documentclass{article} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 

\begin{document} 

\begin{tikzpicture} 
\begin{axis} 
\addplot [blue, line width = 1, smooth, domain=0:9] {sqrt(x)};
\draw (0,0) -- (1,0);
\draw (1,0) rectangle (4,1);
\draw (4,0) rectangle (9,2);
\end{axis} 
\end{tikzpicture}

\end{document}

在此处输入图片描述

我认为ShareLaTeX 教程可能对你有用。

编辑 n. 1

如此简单的形状不太合理,但为了向你展示其特点...你可以创建一个pic具有两个参数的:底部和高度:

\documentclass{article} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest}

\tikzset{%
    pics/myrec/.style n args={2}{code={%  
            \draw (0,0) rectangle (#1,#2);
    }},
}
\begin{document} 

\begin{tikzpicture} 
\begin{axis} 
\addplot [blue, line width = 1, smooth, domain=0:9] {sqrt(x)};
% for example you can create a pic with two parameter: base and height
\pic at (0,0) {myrec={1}{0}};
\pic at (1,0) {myrec={3}{1}};
\pic at (4,0) {myrec={5}{2}};
\end{axis} 
\end{tikzpicture}

\end{document}

编辑 n. 2

如果您想添加其他选项pic

  • 如果它们对于所有 s 都相等,pic则可以将它们添加到定义中(请参见以下示例中的厚度)
  • 如果它们每个都不同,pic您可以将其放置得像\pic [...](参见dasheddotted)或创建另一个参数(参见颜色)。

您还可以为参数设置默认值。

\documentclass{article} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\tikzset{% 
pics/myrec/.style n args={3}{code={% 
\draw[very thick, #3] (0,0) rectangle (#1,#2); 
}}, 
pics/myrec/.default={1}{0}{pink},
} 
\begin{document} 
\begin{tikzpicture} 
\begin{axis} 
\addplot [blue, line width = 1, smooth, domain=0:9] {sqrt(x)}; 
\pic at (0,0) {myrec};
\pic[dashed] at (1,0) {myrec={3}{1}{green}}; 
\pic[dotted] at (4,0) {myrec={5}{2}{red}}; 
\end{axis} 
\end{tikzpicture} 
\end{document}

在此处输入图片描述

相关内容