将预定义的颜色放入 TikZ 中的表中

将预定义的颜色放入 TikZ 中的表中

我正在通过 matlab2tikz 在 TikZ 中绘制一些图表,得到以下输出:

\documentclass[a4paper]{article}

\usepackage[dvipsnames]{xcolor}
\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\begin{axis}[%
width=10cm,
height=10cm,
colormap/jet,
scale only axis,
xmin=7,
xmax=9.5,
xlabel={(hh0)},
ymin=11.7,
ymax=12.7,
ylabel={(00l)},
axis x line*=bottom,
axis y line*=left
]
\addplot[scatter,only marks,scatter src=explicit,scatter/use mapped color={mark=*,mark options={},draw=mapped color,fill=mapped color}] plot table[row sep=crcr,meta index=2]{%
7.38517703285077    11.8600971333007    1\\
7.96222790369133    11.9099275551383    2\\
8.49288094528219    11.9557513572467    3\\
8.9868007534447 11.998403112297 4\\
9.45070037936319    12.0384625164465    5\\
};
\end{axis}
\end{tikzpicture}
\end{document}

这编译得很好。不过,我希望能够使用预定义的颜色,例如

\colorlet{color1}{SkyBlue}

第一个散射点的颜色,然后第二个散射点的颜色为 color2,依此类推。现在,表中的第三列根据喷射配色方案定义了点的颜色。

我该怎么做?我尝试为五种数据类型中的每一种创建一个类(例如 1 -> [a]),然后只用颜色名称代替颜色整数。

答案1

我尝试为五种数据类型中的每一种创建一个类(例如 1 -> [a]),并且只用颜色名称代替颜色整数。

你是这样做的吗?

scatter/classes={
1={mark=*,mark options={},blue},%
2={mark=*,mark options={},red},%
3={mark=*,mark options={},color1},%      color1 is defined as you did.
4={mark=*,mark options={},green},%
5={mark=*,mark options={},olive}

代码:

\documentclass[a4paper]{article}

\usepackage[dvipsnames]{xcolor}
\usepackage{pgfplots}
\usepackage{tikz}
\colorlet{color1}{SkyBlue}      %%<--- define colors

\begin{document}
\begin{tikzpicture}

\begin{axis}[%
width=10cm,
height=10cm,
scale only axis,
xmin=7,
xmax=9.5,
xlabel={(hh0)},
ymin=11.7,
ymax=12.7,
ylabel={(00l)},
axis x line*=bottom,
axis y line*=left
]
\addplot[scatter,only marks,scatter src=explicit,
scatter/classes={
1={mark=*,mark options={},blue},%
2={mark=*,mark options={},red},%
3={mark=*,mark options={},color1},%
4={mark=*,mark options={},green},%
5={mark=*,mark options={},olive}
},] plot table[row sep=crcr,meta index=2]{%
7.38517703285077    11.8600971333007    1\\
7.96222790369133    11.9099275551383    2\\
8.49288094528219    11.9557513572467    3\\
8.9868007534447 11.998403112297 4\\
9.45070037936319    12.0384625164465    5\\
};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容