考虑以下代码:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\begin{document}
\tikz{\draw (0,0) -- plot[mark=o] (0.5,0) -- (1,0);}
\end{document}
看起来标记画得不太顺利:
使用该smooth
选项不会产生任何效果,因为插值算法仅影响线条绘制;此处扭曲发生在标记上。有什么想法吗?
答案1
您使用的绘制点的语法错误:plot (0.5,0)
被假定为一个函数,因此它会被评估多次(取决于数字sample
),并且您的点的多个实例会相互叠加绘制。修复:要么设置samples at=1
为确保您的点只绘制一次,要么使用绘制点的官方语法,即plot coordinates {(0.5,0)}
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{plotmarks}
\begin{document}
\tikz{\draw (0,0) -- plot[mark=o] (0.5,0) -- (1,0);}
\tikz{\draw (0,0) -- plot[samples at={1}, mark=o] (0.5,0) -- (1,0);}
\tikz{\draw (0,0) -- plot[mark=o] coordinates {(0.5,0)} -- (1,0);}
\end{document}