2

I'm currently trying to get some of my Octave plots to work natively in a LaTeX document. My method of choice is to use the plot parameters of my Octave scripts in a standalone TikZ document that uses PGFPlots and is imported to a larger LaTeX document with some discussion on the results. Unfortunately, there have been some setbacks in my first foray to PGFPlots.

It seems that the plot bears little resemblance to the plot in the Octave script and that the plot is unstable in the sense that its axis offset and its slope change when I adjust the seemingly unrelated axis properties.

Here is the code:

\documentclass[crop,tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
      width=8cm,
      height=6cm,
      samples=6,
      restrict x to domain*=-0.15:0.15,
      restrict y to domain*=-0.0004:0.0004,
      xmin=-0.05, xmax=0.05,
      ymin=-0.0002, ymax=0.0002,
      axis lines=left,
      grid=both,
      compat=newest
  ]
\addplot {0.000018165+0.0014500*x};
\end{axis}
\end{tikzpicture}
\end{document}

The plot passes through the origin even if the formula defines offset. Furthermore, adjustment to the x-domain restrictions change the slope of the plot. I worry that there is a feature of PGFPlots that I'm not yet familiar with and which is distorting my plots.

A plot without offset

To compare, the following Octave plot has a clear offset from the origin for the corresponding red line.Octave plot with an offset

3
  • 1
    Could you add your octave plot for reference, so that we can also try to see the problem? Nov 22, 2018 at 12:33
  • I'm adding the reference. The red line corresponds to the blue line above. Nov 22, 2018 at 12:50
  • 3
    You add all the restrictions plot in a huge domain. Try \addplot[domain=-0.05:0.05] {0.000018165+0.0014500*x}; restrict x to domain*=-0.15:0.15, does not set the domain of the plot, as can be seen clearly from the fact that it runs from -4.5 to 4.5.
    – user121799
    Nov 22, 2018 at 12:54

1 Answer 1

5

You are using restrict x to domain*=-0.15:0.15,restrict y to domain*=-0.0004:0.0004,, about which the manual says

enter image description here

However, you do not set an appropriate domain. If you do that,

\documentclass[crop,tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
      width=8cm,
      height=6cm,
      samples=6,
      restrict x to domain*=-0.15:0.15,
      restrict y to domain*=-0.0004:0.0004,
      xmin=-0.05, xmax=0.05,
      ymin=-0.0002, ymax=0.0002,
      axis lines=left,
      grid=both,
      domain=-0.05:0.05
  ]
\addplot[no marks] {0.000018165+0.0014500*x};
\end{axis}
\end{tikzpicture}
\end{document}

you'll get

enter image description here

which has a clearly visible offset.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .