
Tento criar um gráfico de linhas e um gráfico de barras combinados e encontrei uma solução na perguntaCombinando dados do gráfico de linhas com gráfico de barras
Mas tenho problemas para combinar os dois gráficos com dados de uma tabela, definida pelo pacote pgfplotstable.
Meu MWE:
\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}
O parâmetro ybar do meu primeiro gráfico é ignorado no meu exemplo.
Há algum erro no meu exemplo ou \addplot table
não suporta ybar?
Responder1
A ybar
opção é uma opção de plotagem, não uma opção de análise de tabela.
Deve ser passado para \addplot
, não paratable
O código
O código
\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}