我想在 tikz 中绘制 1/(1+abs(x))^2。在家里,我安装了新版 latexlive,一切看起来都很好。在工作中,我没有新版 latex,因为 Ubuntu 12.04 的存储库中仍然包含 2009 年的旧版本。使用旧版本时,图表在 y 轴周围有一个“凸起”。
有谁知道解决方法吗?
\documentclass{paper}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[black, smooth] {1/(1+abs(x))^2};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
请参阅下面更新问题的答案,其中1/(1+abs(x))^2
包括旧安装的解决方法。
1/(1-abs(x)^2
三种变体:
未修改的示例:曲线的形式具有选项的人工制品
smooth
。该范围仅限于仔细观察点 (0,1)。
规模更大。
评论:
除了选项
smooth
,还可以增加采样率。选项的默认值为sample
25。请参阅percusse 的评论. 缺点是,运行时间和文件大小会随着采样率的提高而增加。当 为偶数值时
sample
,对称性会丧失,右峰会变小。参见杰克的评论。因此下面的例子使用奇数值。限制 y 域有助于避免
! Dimension too large
错误。另请参阅percusse 的评论。由于 y 域不受限制,因此示例利用
ymax
切断峰值而不是闭合峰值。
\listfiles
\documentclass{article}
\usepackage[a3paper]{geometry}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[black, smooth] {1/(1-abs(x))^2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[samples=1001, restrict y to domain=0:6, ymax=5]
\addplot[black] {1/(1-abs(x))^2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[samples=1001, restrict y to domain=0:1500, ymax=1000]
\addplot[black] {1/(1-abs(x))^2};
\end{axis}
\end{tikzpicture}
\end{document}
1/(1+abs(x))^2
以下示例显示了未修改选项 的图smooth
。它再次表明,对于具有尖角的函数,该选项smooth
不是最佳选择。下面的版本使用了更高的采样率,但没有使用选项smooth
。
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[black, smooth] {1/(1+abs(x))^2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[samples=1001]
\addplot[black] {1/(1+abs(x))^2};
\end{axis}
\end{tikzpicture}
\end{document}
旧安装的解决方法
- 更新 TeX 安装和软件包。有时这是不可能的或不需要的。
可以尝试一下,更新版本是否能
pgfplots
解决问题。- 创建一个空目录并将 TeX 测试文件放在那里。
- 下载
pgfplots.tds.zip
。 解压它但不包含临时目录中的目录:
$ unzip -j pgfplots.tds.zip
并
pdflatex
在 TeX 测试文件上运行。
如果上一步成功,
pgfplots.tds.zip
则可以安装在本地或主texmf
树中。否则
创建一个具有正确字体和字体大小的独立文件,第一面有问题的图没有页眉和页脚,例如:
\documentclass{article} \usepackage{tikz} \usepackage{pgfplots} \pagestyle{empty} \begin{document} \begin{tikzpicture}...\end{tikzpicture} \end{document}
然后转到另一台安装了最新 TeX 的计算机并生成 PDF 文件。(或者朋友可以帮你做这件事。)
pdfcrop
例如,用 裁剪边缘。- 裁剪后的图像包含
\includegraphics
在原始文档中。