打印图添加奇怪的线条

打印图添加奇怪的线条

我刚刚遇到了一个非常奇怪的 pgfplots 问题。考虑一下这个 MWE:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    domain=0:5,
    xmin=0, xmax=3,
    ymin=0, ymax=3.5,
    samples=500,
    width=11cm,
    height=6cm,
    axis y line=center,
    axis x line=middle,
    ytick={1},
    xtick={1}
    ]
    \addplot[red, very thick, mark=none] {x^2/sqrt((1-x^2)^2)};     
    \end{axis}
    \end{tikzpicture}
\end{document}

在我尝试过的每个 PDF 阅读器中,其呈现效果都是这样的(意料之中):

使成为

但是当我打印它时,它看起来像这样(扫描):

打印

我使用不同的机器、不同的打印机和不同的 Adob​​e Reader 版本(Acrobat Reader XI Pro 和 Acrobat Reader DC)打印过。结果总是一样,所以这不是驱动程序/打印机问题。从 Firefox 打印没问题,但由于我正在处理很多人要打印的讲义,所以告诉大家“不要使用 Adob​​e Reader”并不是解决办法。

我只是想知道为什么会发生这种情况以及我可以做些什么来避免它。

(我知道这有点难以调试,因为它涉及打印。)

我已经尝试过修改图表,发现只要我在分母中添加一些使定义间隙消失的东西,不仅顶部水平线会消失,而且底部的两条线也会消失。但这不是一般的定义间隙问题,我还有其他一些图表,它们打印得很好。

答案1

我遇到了类似的问题,并找到了以下解决方案:将restrict x to domain = 0:10restrict y to = 0:10添加到您的轴环境中。域范围的选择应包括您的绘图的整个范围。例如,如果您想从 (0:0) 绘制到 (2:2),请选择从 -1 到 3 的域,以便轴上的边框也能绘制出来。因此,您的 MWE 将如下所示:

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    domain=0:5,
    xmin=0, xmax=3,
    ymin=0, ymax=3.5,
    samples=500,
    width=11cm,
    height=6cm,
    axis y line=center,
    axis x line=middle,
    ytick={1},
    xtick={1},
    restrict x to domain = 0:4,
    restrict y to domain = 0:4
    ]
    \addplot[red, very thick, mark=none] {x^2/sqrt((1-x^2)^2)};     
    \end{axis}
    \end{tikzpicture}
\end{document}

相关内容