
Я хотел бы, чтобы ряд данных для спарклайна был определен в терминах макроса — или какой-то альтернативы — а не был установлен явно в 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
ВСуществует ли пакет, обеспечивающий построение графиков в стиле Эда Тафти?Я создал решение для спарклайнов, которое основано не на пакете спарклайнов, а на pgfplots.
Преимущество заключается в следующем: вы можете предоставить входные данные с помощью числовых таблиц, предоставить числовую таблицу и построить график данных на основе математических выражений в этих таблицах или сразу предоставить математическое выражение.
Упомянутое решение включает в себя столбчатые диаграммы, линейные диаграммы и диаграммы рассеяния, а также может автоматически определять минимальную/максимальную координату.
ВидетьСуществует ли пакет, обеспечивающий построение графиков в стиле Эда Тафти?для подробностей