如何在 LaTeX 中打印带有标记点的色度图?

如何在 LaTeX 中打印带有标记点的色度图?

如何打印色度图(理想情况下是CIE 1931 图) 上标有特定的坐标。

像这样的东西(用非 LaTeX 软件制作的,直到圣诞节假期结束我才能使用,而且必须去校园才能使用,如果不是由于疫情而绝对需要,强烈不建议这样做)。

CIE 1931 图,其中标有 A 和 1-5 的点

我目前发现的情况:这个问题引领我走向pst-cie包,它看起来是一种非常容易绘制图表的方法,但它的文档没有解释如何标记特定点。它有添加曲线的示例,但我需要的是点而不是曲线,而且它的文档...非常简单,以至于我不知道该怎么做,只能重新创建 pdf 中的示例。

还有这个 TikZ 答案但我不知道 TikZ,所以我不知道如何开始使它适应我的需求。 (我知道一点,pgfplots这就是为什么我对 非常有希望pst-cie,但它似乎使用了完全不同的语法风格。

此外,没有任何答案是pdflatex我目前正在使用的,但我想如果必须的话我可以移动到XeLaTeXLuaLaTeX

注意:我将把“目前在 LaTeX 中没有简单或好的方法来做到这一点”作为有效答案,我有一个GNUplot脚本可以在需要时做同样的事情,在 LaTeX 中完成所有事情就好了。

答案1

这只是为了好玩,但看起来色轮已经产生了一些不太相似的东西。这表明,如果你推导出轮廓而不是仅仅用抛物线来近似它,你可能会得到一些可以在你去实验室生产“真实的东西”之前使用的东西。

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{shadings}
\begin{document}
\begin{tikzpicture}[declare function={alpha=270;s=3;
    a=0.8;b=0.5;c=1.6;R=max(sqrt(a*a+b*b),c);}]
 \begin{scope}  
  \clip[rotate=30] (-a*s,-b*s) parabola bend (0,c*s) (a*s,-b*s);
  \shade[shading=color wheel,transform canvas={rotate=alpha,xscale=-1}] 
    (0,0) circle[radius=R*s];
 \end{scope}    
 \draw[rotate=30] (-a*s,-b*s) parabola bend (0,c*s) (a*s,-b*s);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容