我想使用\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}