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? – Raaja_is_at_topanswers.xyz Nov 22 '18 at 12:33
  • I'm adding the reference. The red line corresponds to the blue line above. – Tommi Rimpiläinen Nov 22 '18 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 '18 at 12:54
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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.