pgf/gnuplot 曲线上任意位置的箭头

pgf/gnuplot 曲线上任意位置的箭头

主要思想是绘制带有箭头的电场线,如下所示: 在此处输入图片描述

我的解决方案是:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{ pgfplots}
\usetikzlibrary{decorations.text, decorations.markings}
\usetikzlibrary{intersections}
\usetikzlibrary{arrows}  

\pgfplotsset{
    every axis label/.append style={font=\small},
    compat=newest,
}


\begin{document}
  \begin{tikzpicture}[xscale=1,yscale=1]
  \pgfmathsetmacro{\ea}{1.5}
  \pgfmathsetmacro{\eb}{1}
  \draw[red, samples=200, smooth] plot[id=curve, raw gnuplot] function{
    f(x,y) = (0.3 + ((\ea-\eb)/(\ea+2*\eb))/(x**2 + y**2))*y ;
    set xrange [-4:4];
    set yrange [-2:2];
    set view 0,0;
    set isosample 1000,1000;
    set cntrparam levels 50;
    set cont base;
    unset surface;
    splot f(x,y)
  } ;
  \fill[gray!50, draw=blue, thick] (0,0) circle (1.01);

  \clip (0,0) circle (1);
  \foreach \i in {-0.9,-0.675,...,1} {
  \draw[red, decoration={
      markings,
      mark=at position 0.5 with {\arrow{latex'}}}, postaction={decorate}] (-1,\i) --  (1,\i);
  }
  \end{tikzpicture}
\end{document}

但我不知道如何在曲线上的任意位置放置箭头(就像我对中间区域线所做的那样)

在此处输入图片描述

相关内容