为 sparkline 环境提供数据系列

为 sparkline 环境提供数据系列

我希望用宏(或其他替代方法)来定义迷你图的数据系列,而不是在环境本身中明确设置sparkline。到目前为止,我的尝试都失败了。作为 MWE,以下方法可以做到:

\documentclass[12pt]{memoir}

\usepackage{xcolor,tikz,sparklines}

\begin{document}
\xdef\SparkMacro{0 1 0.5 1.5 1 0.25} 
\renewcommand{\sparklineheight}{1.75}
\begin{sparkline}{3}
\sparkrectangle 0 1.75
\spark \SparkMacro\ / % doesn't work
% \spark 0 1 0.5 1.5 1 0.25 /% does work
\end{sparkline}
\end{document}

我怎样才能将这些数据传递到环境中sparkline而不需要明确地输入(或复制和粘贴)它们?

答案1

您需要\expandafter先扩展数据,然后\spark才能看到它。此外,您需要一个真正的空格,而不是\末尾的空格。最简单的方法是确保您的宏以空格结尾。

\documentclass[12pt]{memoir}

\usepackage{xcolor,tikz,sparklines}

\begin{document}
\xdef\SparkMacro{0 1 0.5 1.5 1 0.25 } 
\renewcommand{\sparklineheight}{1.75}
\begin{sparkline}{3}
\sparkrectangle 0 1.75
\expandafter\spark \SparkMacro / % doesn't work
%\spark 0 1 0.5 1.5 1 0.25 /% does work
\end{sparkline}
\end{document}

答案2

是否有一个软件包可以提供 Ed Tufte 风格的图形?我创建了一个 sparklines 解决方案,它不是基于 sparkline 包,而是基于 pgfplots。

其优点是:您可以通过数值表提供输入,提供数值表并根据该表上的数学表达式绘制数据,或者立即提供数学表达式。

所提到的解决方案具有条形图、线图和散点图,还可以自动确定最小/最大坐标。

是否有一个软件包可以提供 Ed Tufte 风格的图形?了解详情

相关内容