我想绘制并标记区间 [−2, 2] 上最大整数函数 f(x) = [x + 1] 的图形。使用 LATEX 图片环境
答案1
使用该pgfplots
包的可能解决方案:
\documentclass[border=3.141592]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid,
xlabel=$x$,
ylabel=$f(x)$
]
\addplot [samples at={-2,-1,...,2}, const plot] {ceil(x+1)};
\end{axis}
\end{tikzpicture}
\end{document}
附录: 看起来这个函数是这样绘制的:
\documentclass[border=3.141592]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}
\begin{axis}[grid,
xlabel=$x$,
ylabel=$f(x)$,
]
\addplot +[thick, samples at={-2,-1,...,2},
jump mark left] {ceil(x+1)};
\addplot [thick, samples at={-1,0,...,2}, only marks,
mark options={draw=blue,fill=white}] {(x)};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
普通钛钾Z 解决方案,您可以调整它以用于进一步的应用。
\documentclass[tikz,border=3.141592mm]{standalone}
\begin{document}
\begin{tikzpicture}[
declare function={f(\x)=\x+1;},
start/.style={blue,draw,circle, minimum width=3pt,inner sep=0pt, fill=white},
end/.style={blue,circle, minimum width=3pt,inner sep=0pt, fill=blue}]
\def\xmin{-2.5} \def\xmax{2.5}
\def\ymin{-2.5} \def\ymax{2.5}
\draw[-stealth] (\xmin,0) -- (\xmax,0) node [above left] {$x$};
\draw[-stealth] (0,\ymin) -- (0,\ymax) node [below right] {$y$};
\foreach \i in {-2,...,1}
{
\draw [blue](\i,{f(\i)}) node[start] {} --++ (1,0) node[end] {};
}
\end{tikzpicture}
\end{document}
答案3
这是一个非常简单的解决方案,使用实际picture
环境的非常简单的解决方案 --- 我不确定这是你实际需要的功能想进行绘图,但如果没有别的,它应该可以作为一个模板。
您可能不需要pict2e
在这里加载,但我发现在使用此环境时它通常很有用。
\documentclass{article}
\usepackage{pict2e}
\begin{document}
\setlength{\unitlength}{2cm}
\begin{picture}(5,5)(-2.5,-2.5)
\thicklines
% Axes
\put(0,-2.5){\vector(0,1){5}}
\put(-0.4,2){\makebox(0.5,0.5){$y$}}
\put(-2.5,0){\vector(1,0){5}}
\put(2,-0.4){\makebox(0.5,0.5){$x$}}
% Segments of the function
\put(-2,-1){\circle{0.08}}
\put(-1.96,-1){\line(1,0){0.96}}
\put(-1,-1){\circle*{0.08}}
\put(-1,0){\circle{0.08}}
\put(-0.96,0){\line(1,0){0.96}}
\put(0,0){\circle*{0.08}}
\put(0,1){\circle{0.08}}
\put(0.04,1){\line(1,0){0.96}}
\put(1,1){\circle*{0.08}}
\put(1,2){\circle{0.08}}
\put(1.04,2){\line(1,0){0.96}}
\put(2,2){\circle*{0.08}}
\end{picture}
\end{document}
得出的结果为:
不过,我通常会考虑使用 TikZ 或类似的东西。