
Я пытаюсь создать комбинированную линейную диаграмму и столбчатую диаграмму и нашел решение в вопросеОбъединение данных линейной диаграммы с гистограммой
Но у меня возникли проблемы с объединением двух диаграмм с данными из таблицы, определенной пакетом pgfplotstable.
Мой МВЭ:
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots, pgfplotstable}
\pgfplotstableread[col sep=&, header=true]{
firm &value&value2
Firm 1&3 &4
Firm 2&7 &8
Firm 3&8 &9
Firm 4&13 &14
Firm 5&16 &17
}\mydata
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xtick=data,
xticklabels from table={\mydata}{firm},
bar width=7mm, y=4mm,
nodes near coords align={vertical},
]
\addplot table [ybar, y=value, x expr=\coordindex,] {\mydata}; %Works not
\addplot table [y=value2, x expr=\coordindex] {\mydata}; %Works
\end{axis}
\end{tikzpicture}
\end{document}
Параметр ybar моего первого графика в моем примере игнорируется.
Есть ли ошибка в моем примере или он \addplot table
не поддерживает ybar?
решение1
Данная ybar
опция предназначена для построения графика, а не для анализа таблицы.
Его следует передать \addplot
, а неtable
Код
Код
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots, pgfplotstable}
\pgfplotstableread[col sep=&, header=true]{
firm &value&value2
Firm 1&3 &4
Firm 2&7 &8
Firm 3&8 &9
Firm 4&13 &14
Firm 5&16 &17
}\mydata
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
xtick=data,
xticklabels from table={\mydata}{firm},
bar width=7mm, y=4mm,
nodes near coords align={vertical},
]
\addplot [ybar] table [y=value, x expr=\coordindex,] {\mydata}; % now works
\addplot table [y=value2, x expr=\coordindex] {\mydata}; %Works
\end{axis}
\end{tikzpicture}
\end{document}