PGF 条形图 - 如何使用一个命令填充和绘制?

PGF 条形图 - 如何使用一个命令填充和绘制?

我制作了以下图表: 在此处输入图片描述

现在,为了确保条形的轮廓和填充为红色,我执行以下操作:

\addplot [red, fill = red, ybar]...

如果我省略fill = red,则图形不会填充。如果我省略draw = red,则轮廓为黑色。因此,似乎我需要这两个命令。

如果您要制作许多图表,那么必须在两个地方更改颜色可能会很烦人。有没有办法用一个命令设置draw和?我试过了,但无济于事。fillfilldraw


MWE 制作上述内容并播放:

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.17}
\usepackage{color}

\begin{document}

\pgfplotstableread[col sep=comma]{
    date, yoy
    1Q19, 4
    2Q19, 3
    3Q19, 2
    4Q19, 3
    1Q20, 4.5
}\hchartone

\begin{tikzpicture}
\begin{axis}[
axis lines=left,
enlarge x limits={0.1},
xtick=data,
xticklabels from table={\hchartone}{date}, 
table/x expr = \coordindex,       
]
\addplot [red, fill = red, ybar] table [y=yoy]  {\hchartone};
\end{axis}
\end{tikzpicture}

\end{document}

答案1

可以说

\addplot [red,fill, ybar] table [y=yoy] {\hchartone};

得到结果。如果问题是是否可以铸造一把filldraw钥匙,答案是肯定的。

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.17}

\begin{document}

\pgfplotstableread[col sep=comma]{
    date, yoy
    1Q19, 4
    2Q19, 3
    3Q19, 2
    4Q19, 3
    1Q20, 4.5
}\hchartone

\begin{tikzpicture}[filldraw/.style={draw=#1,fill=#1},filldraw/.default=black]
\begin{axis}[
axis lines=left,
enlarge x limits={0.1},
xtick=data,
xticklabels from table={\hchartone}{date}, 
table/x expr = \coordindex,       
]
\addplot [filldraw=red, ybar] table [y=yoy]  {\hchartone};
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容