If you like you can adapt this drawing of mine --- the field lines are not exact, they're just qualitative: (notice that you can rotate the magnet changing \angle
at the start of the picture).
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shadings, calc, decorations.markings}
\tikzset{->-/.style={decoration={
markings,
mark=at position #1 with {\arrow{>}}},postaction={decorate}},
->-/.default=0.5,
}
\begin{document}
\begin{tikzpicture}
\def\angle{50}% change this to rotate the magnet
\path [use as bounding box] (-3.2,-3.2) rectangle (3.2,3.2);
%\draw[very thin, gray!50] (-3,-3) grid (3,3);
\draw[->](-3,0) -- (3,0) node [above] {$x$};
\draw[->](0,-3) -- (0,3) node [right] {$z$};
\draw[thick, color=blue] (0, 0) circle (2);
\draw [semithick, ->] (0:1.2) arc (0:\angle:1.2);
\node at (0.5*\angle:1.4) {$\theta$};
\begin{scope}[gray,text=black, rotate=\angle]
\node[draw, left color=red!60,right color=blue!60, middle color=white,
rotate=\angle, shading angle=90+\angle, minimum width=1cm,
]
at (0,0) (I) {};
\draw[->-] (I.north east) .. controls (1.5,1) and (-1.5,1) .. (I.north west);
\coordinate (n1) at ($ (I.north east)!0.5!(I.east) $);
\coordinate (s1) at ($ (I.north west)!0.5!(I.west) $);
\draw[->-] (n1) .. controls (3, 2) and (-3, 2) .. (s1);
\draw[->-] (I.east) .. controls (6,3) and (-6,3) .. (I.west);
\draw[->-] (I.south east) .. controls (1.5,-1) and (-1.5,-1) .. (I.south west);
\coordinate (n2) at ($ (I.south east)!0.5!(I.east) $);
\coordinate (s2) at ($ (I.south west)!0.5!(I.west) $);
\draw[->-] (n2) .. controls (3, -2) and (-3, -2) .. (s2);
\draw[->-] (I.east) .. controls (6,-3) and (-6,-3) .. (I.west);
\end{scope}
\end{tikzpicture}
\end{document}

clip
the picture.