我正在尝试创建一个二维图,其中的x
-label 刻度是图片,类似于发布在这里,不同之处在于图像是在编译时以参数化方式创建的。x
标签是图形,实际上依赖于确定图形形状的某些输入 CSV 文件。下面仅作为示例说明。可以看出,箭头是我的x
标签,它们在不同的图形中。
我该如何解决这个问题?我尝试定义所需的参数,例如
\newcommand{\PSI}{45}
\newcommand{\PHI}{45}
\newcommand{\cosPSI}{cos(\PSI)}
\newcommand{\sinPSI}{sin(\PSI)}
% These are just example to show my approach to this problem
% ...
\newcommand{\myFirstLabel}{\tikz \draw (0,0) -- (1,1);}
我也尝试过使用:
\newcommand{\myFirstLabel}{\begin{tikspicture} ...}
但编译器对此有抱怨。我想看看是否可以有类似下面的内容,以便每个新命令都使用我在序言中定义的参数创建图形标签。
xticklabels={\myLabel2, \myLabel2, ...}
使用 LateX 可以实现这个吗?
答案1
它应该可以正常工作。
\documentclass[]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\def\mylabel#1{\tikz\filldraw[#1] (0,0)circle (3mm);}
\begin{axis}[
xtick={-2,0,2},
xticklabels={\mylabel{red},\mylabel{blue},\mylabel{gray}}
]
\addplot {x};
\end{axis}
\end{tikzpicture}
\end{document}