如何在 pgfplot 中绘制这样的双 y 轴条形图?
How to draw double y-axis barplot graph like this in pgfplot?
我用这个 table 使用 matplotlib 绘制绘图。
使用两个 \begin{axis} ... \end{axis}
环境,一个用于左侧,另一个用于右侧。您可以在下面的代码中找到相关部分axis y line
。
为了防止条形图相互重叠,使用 bar shift
(并设置为 bar width
的一半,以便条形图粘在一起)。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,height=8cm,compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
symbolic x coords={A,B,C,D},
bar width=0.6cm, bar shift=-0.3cm,
xtick=data,
axis y line*=left,
ylabel=axis1,
xlabel=name,
]
\addplot[draw=red,fill=red] coordinates {
(A,16) (B,18) (C,3) (D,10)
};
\end{axis}
\begin{axis}[
ybar,
symbolic x coords={A,B,C,D},
bar width=0.6cm, bar shift=0.3cm,
xtick=data,
axis y line*=right,
ylabel=axis2
]
\addplot[draw=blue,fill=blue] coordinates {
(A, 299239.74) (B, 292816.67) (C, 72799.22) (D, 116248.54)
};
\end{axis}
\end{tikzpicture}
\end{document}
我用这个 table 使用 matplotlib 绘制绘图。
使用两个 \begin{axis} ... \end{axis}
环境,一个用于左侧,另一个用于右侧。您可以在下面的代码中找到相关部分axis y line
。
为了防止条形图相互重叠,使用 bar shift
(并设置为 bar width
的一半,以便条形图粘在一起)。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{width=10cm,height=8cm,compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
symbolic x coords={A,B,C,D},
bar width=0.6cm, bar shift=-0.3cm,
xtick=data,
axis y line*=left,
ylabel=axis1,
xlabel=name,
]
\addplot[draw=red,fill=red] coordinates {
(A,16) (B,18) (C,3) (D,10)
};
\end{axis}
\begin{axis}[
ybar,
symbolic x coords={A,B,C,D},
bar width=0.6cm, bar shift=0.3cm,
xtick=data,
axis y line*=right,
ylabel=axis2
]
\addplot[draw=blue,fill=blue] coordinates {
(A, 299239.74) (B, 292816.67) (C, 72799.22) (D, 116248.54)
};
\end{axis}
\end{tikzpicture}
\end{document}