gnuplottex 中的 Tikz

Tikz inside gnuplottex

这是这样的代码。

\documentclass{standalone}
\usepackage[miktex]{gnuplottex}
\usepackage[utf8]{inputenc}
\begin{document}
    \begin{gnuplot}
        set terminal epslatex color
        set xrange [-4:4]
        set yrange [0:16]
        set xlabel '$x$'
        set ylabel '$y$'
        plot x**2 title '$y=x^2$'
    \end{gnuplot}
\end{document}

是否可以在 gnuplot 创建的坐标系中使用 tikz 绘制基元,类似于 pgfplots?例如,\draw (axis cs:0 , 0) -- (axis cs:1 , 1)

可能有很多方法可以做到这一点,这里有一个使用 tikzlibrary tikzmark 的解决方案,它在 ylabel 字符串中放置一个名为“a”的自定义标记(但也可以通过任意方式放置) set label 命令)。 你的代码对我来说是不可编译的;原因之一是 set terminal 命令必须作为 \begin{gnuplot} 的选项提供,而不是在 gnuplot 代码中提供。既然您想使用 tikz,我还是建议您使用 tikz 终端。

\documentclass{standalone}
\usepackage{gnuplot-lua-tikz}
\usepackage{gnuplottex}
\usepackage[utf8]{inputenc}
\usetikzlibrary{tikzmark}

\begin{document}
 \begin{gnuplot}[terminal=tikz]
  set xrange [-4:4]
  set yrange [0:16]
  set xlabel '$x$'
  set ylabel '$\tikzmark{a}y$'
  plot x**2 title '$y=x^2$'
 \end{gnuplot}
    
An arrow going from the $y$ label to exactly here.\tikz[remember picture, overlay] \draw[<-, bend angle = 10, bend right] (0,0) to (pic cs:a);

\end{document}