我正在使用pgfplots
,当我根据 csv 文件中的数据创建包含两组点的散点图时,标记的颜色会随 y 轴值而变化,这不是我想要的。我有两组点,希望一组使用蓝色标记和线条,另一组使用红色 - 虽然这似乎是一个微不足道的问题,但我找不到任何解决方案!这是我的代码:
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
xlabel={x},
ylabel={y},
xmin=1, xmax=5,
ymin=0, ymax=10,
xmajorgrids=true,
ymajorgrids=true,
grid style=dashed,
mark=*
]
\addplot[blue, mark=diamond*, scatter] table [x=a, y=e, col sep=comma] {Data/finaldata.csv};
\addplot[red, mark=square*, scatter] table [x=a, y=i, col sep=comma] {Data/finaldata.csv};
\end{axis}
\end{tikzpicture}
\caption{Example}
\end{figure}
目前出现了不同颜色的标记,有简单的解决办法吗?
答案1
那么,这只是一个标准的线图,而不是散点图。如果您想要一个基本的散点图(即没有线,只有点),请使用键only marks
,即\addplot [only marks]...
。scatter
您使用的键适用于您想要可视化的第三维度的情况,并且您可以使用颜色来实现这一点。
但您需要做的就是取出scatter
钥匙,然后就会得到一条带有标记的线。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
xlabel={x},
ylabel={y},
xmin=1, xmax=5,
ymin=0, ymax=10,
xmajorgrids=true,
ymajorgrids=true,
grid style=dashed,
]
\addplot[blue, mark=diamond*] table [x=a, y=e, col sep=comma] {
a,e
1,2
2,4
3,9
4,7
};
\addplot[red, mark=square*] table [x=a, y=i, col sep=comma] {
a,i
1,3
2,1
3,6
4,3
};
\end{axis}
\end{tikzpicture}
\caption{Example}
\end{figure}
\end{document}