在 pgfplots 中使用“无标记”命令获取默认彩色图

在 pgfplots 中使用“无标记”命令获取默认彩色图

我想使用\foreach中的命令绘制多条曲线pgfplots。我不想要任何标记,而且我找不到在循环中获取没有标记的彩色图的方法\foreach。不使用标记会消除标记和颜色。

\documentclass[12pt]{article}
\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\foreach \pas in {1,2,...,10} 
{
\addplot[mark=none] expression {\pas*\x};
}
\end{axis} 
\end{tikzpicture}
\end{document}

答案1

如果仅提供选项[mark=none],则会重置绘图的其他选项,从而产生黑色实线。您应该使用加号 ( \addplot +[mark=none] ...) 附加mark=none选项,同时保持其他选项不变。

\documentclass[12pt]{article}
\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\foreach \pas in {1,2,...,10} 
{
\addplot +[mark=none] expression {\pas*\x};
}
\end{axis} 
\end{tikzpicture}
\end{document}

请注意,如果您不想在任何绘图中添加任何绘图标记,您也可以设置轴选项no markers以关闭所有绘图的标记。

\documentclass[12pt]{article}
\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\begin{axis}[no markers]
\foreach \pas in {1,2,...,10} 
{
\addplot expression {\pas*\x};
}
\end{axis} 
\end{tikzpicture}
\end{document}

答案2

虽然此解决方案有效,但不推荐。请参阅 Jake 的评论和解决方案)。

如果你使用\pgfsetplotmarksize{0pt},你仍然会看到彩色线条,但没有标记。我不确定为什么mark=none会导致没有颜色。

\documentclass[12pt]{article}
\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}{% begin group to keep settings local
\pgfsetplotmarksize{0pt}
\begin{tikzpicture}% no markers here
\begin{axis}
\foreach \pas in {1,2,...,10} {
    \addplot  expression {\pas*\x};
}
\end{axis} 
\end{tikzpicture}
}% end group
%
\begin{tikzpicture}% this will have markers
\begin{axis}
\foreach \pas in {1,2,...,10} {
    \addplot  expression {\pas*\x};
}
\end{axis} 
\end{tikzpicture}
\end{document}

相关内容