You can make the contents of the meta
column available by adding point meta=explicit symbolic
to the \addplot
options, where the explicit
indicates that the meta data is distinct from the y coordinate (by default, the y coordinate is used as the meta data), and the symbolic
indicates that the values shouldn't be parsed as numbers.
Then you can use the scatter/@pre marker code
to set the mark
depending on the content of the meta
variable:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\begin{tikzpicture}
\begin{axis}[/pgf/number format/1000 sep={}]
\addplot [
point meta=explicit symbolic,
scatter, only marks,
scatter/@pre marker code/.code={\pgfplotsset{mark=\pgfplotspointmeta}},
scatter/@post marker code/.code={}
] table [meta=meta] {
Year coeff meta
2005 1.2183 o
2006 0.1073 star
2007 0.5629 square
2008 1.0168 diamond
2009 -4.4083 otimes
};
\end{axis}
\end{tikzpicture}
\end{document}