使用 pgfplotstable 將折線圖資料與長條圖結合在一起

使用 pgfplotstable 將折線圖資料與長條圖結合在一起

我嘗試創建組合折線圖和條形圖,並在問題中找到了解決方案將折線圖資料與長條圖結合

但我在將兩個圖表與 pgfplotstable-package 定義的表格中的資料結合時遇到問題。

我的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}

我的結果: 在此輸入影像描述

在我的範例中,我的第一個圖的 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}

相關內容