如何改变折线图的颜色?

如何改变折线图的颜色?

我有以下代码:

\begin{figure}[p]
    \centering \begin{tikzpicture}
    \begin{axis}[
    use units,
        width=15cm, height=8cm,     % size of the image
        grid = major,
        grid style={dashed, gray!30},
        %xmode=log,log basis x=10,
        %ymode=log,log basis y=10,
        xmin=0,     % start the diagram at this x-coordinate
        ymin=0,     % start the diagram at this y-coordinate
        %/pgfplots/xtick={0,5,...,60}, % make steps of length 5
        %extra x ticks={23},
        %extra y ticks={0.507297},
        axis background/.style={fill=white},
        ylabel=Time,
        xlabel=Number of Datapoints (n),
        y unit=s,y unit prefix=m,
        tick align=outside]

      % import the correct data from a CSV file
      \addplot table [col sep=comma,trim cells=true,y=user] {datasets/mergesort.csv};

    \end{axis}  \end{tikzpicture}
    \caption{Mergesort Run Time for Sorting Random Data}
    \label{fig:merge_sort_from_csv} \end{figure}

我得到的是一张图表,其中每个点都用一个蓝点和一条连接这些点的蓝线表示。

如果我改变路线

\addplot table [col sep=comma,trim cells=true,y=user] {datasets/mergesort.csv};

\addplot[red] table [col sep=comma,trim cells=true,y=user] {datasets/mergesort.csv};

我得到的是一条没有点的直红线。

我怎样才能获得与以前相同的效果(线和点),但颜色为红色?

答案1

如果命令中没有任何样式键\addplot,则使用默认值cycle list( color,如 v1.11 版本第 4.7.7 节所述pgfplots手动的) 用来:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1]
  \addplot {x};
  \addplot {x^2};
  \addplot {x^3};
  \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

一旦指定了任何样式键,如 中所示\addplot[red] <...>;,默认循环列表将不再用于该图(但请注意,图中的“点”cycle list仍然被“消耗”,如示例所示):

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1]
  \addplot[red] {x}; % added [red] here
  \addplot {x^2};
  \addplot {x^3};
  \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

替代的绘图命令\addplot+允许用户附加样式选项,而不会覆盖 所设置的所有样式cycle list。例如:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1]
  \addplot+[red] {x};
  \addplot {x^2};
  \addplot {x^3};
  \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

因此,对于所需的绘图样式(红色,带有相同颜色的填充圆形标记),您可以使用任一方法:

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1]
  \addplot[red,mark=*] {x}; % red and filled circular marker, OR
  \addplot+[red,mark=*,mark options={fill=red}] {x^2}; % override cycle list style
  \addplot {x^3};
  \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

至于您在评论中的请求,可用的标记和线条样式的完整列表pgfplots位于手册的第 4.7 节中。第 4.7.1 节列出了标记及其样式的可用选项,而第 4.7.2 节对线条样式进行了相同的说明。

除了为每个单独的绘图命令指定样式外,还可以使用用户定义或预定义的cycle lists 来设置每个连续绘图命令的样式。cycle list第一个示例中显示的是默认样式。以下是另一个预定义的cycle list, exotic

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[domain=0:1,cycle list name=exotic]
  \addplot {x};
  \addplot {x^2};
  \addplot {x^3};
  \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

手册的第 4.7.7 节介绍了预定义cycle lists 的其他选择,该节的后半部分介绍了定义您自己的cycle lists 的语法。用户定义cycle list可以为每个文档定义一次,并用于该文档中的所有图。这样,如果您改变了对样式的想法,只需更新一次定义,所有图都会相应更新。

相关内容