有没有(我相信一定有)一种方法可以使用元数据进行标记?
我有类似下面的内容:
Year coeff meta
2005 1.2183 o
2006 0.1073 star
2007 0.5629 square
2008 1.0168 diamond
2009 -4.4083 otimes
我想要一个使用元数据作为标记的散点图。
谢谢!
答案1
meta
您可以通过添加选项来使列的内容可用point meta=explicit symbolic
,其中\addplot
表示explicit
元数据与 y 坐标不同(默认情况下,y 坐标用作元数据),表示symbolic
不应将值解析为数字。
然后,您可以使用根据变量的内容来scatter/@pre marker code
设置:mark
meta
\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}