我想创建一个类似于我在网上找到的图表1。我不知道使用 tikZ 和 pgfplots 等简单工具是否可行,或者是否建议放弃这个想法并恢复到其他处理器或更简单的表格。我想从这个例子中保留的元素是:
- 侧面的标签与相关值;
- 将两个堆栈并排放置,以便它们各自的高度显示“生产”和“消费”之间的正确差异。
我继续添加了一个带有基本条形图的简单测试代码,我怀疑如果要使用 pgfplots,这可能是这个过程的(非常)第一步。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar stacked,%
ymin=0,%
ymax=10]
\addplot coordinates{(1,4.6)};
\addplot coordinates{(1,2.0)};
\addplot coordinates{(1,1.6)};
\addplot coordinates{(2,7.5)};
\addplot coordinates{(2,0.7)};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
以下答案使用轮图包,是我写的。
条形是通过键获得的ybar
。
百分比由 给出\WCperc
。
线条的长度、定位和样式由lines
、lines sep
和键决定lines pos
。lines style
在右侧的条形图中,一些文本通过 键垂直移动data angle shift
。
\documentclass[border=6pt,dvipsnames]{standalone}
\usepackage{wheelchart}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[gray]
\sffamily
\pgfkeys{
/wheelchart,
data=\WCvarC{} (\WCperc),
data sep=0,
lines=0.5,
lines sep=0,
lines style=gray!50,
ybar={2.5}{7}
}
\wheelchart[
data pos=0,
data style=left,
lines pos=0
]{%
49/Orange/Vaporeformage du méthane,
29/teal!10/Oxydation partielle de\\coupes pétrolières,
18/teal!40/Gazéification de charbon,
4/teal!70/\'Electrolyse%
}
\node[above] at (1.25,7) {PRODUCTION};
\wheelchart[
at={(5,0)},
data angle shift=\WCvarD
]{%
46/Violet!90/Récupération de pétrole et raffinage/0,
44/Violet!80/Production d'ammoniac/0,
4/Violet!70/Production de méthanol/-0.5,
2/Violet!60/Production et fabrication de métaux/-0.3,
1/Violet!50/\'Electronique/0,
1/Violet!40/Industrie alimentaire/0.3,
1/Violet!30/Autres/0.5%
}
\node[above] at (6.25,7) {CONSOMMATION};
\node[align=center] at (3.75,3.5) {{\huge 50} Mt\\d'hydrogène\\par an\\dans le monde};
\draw[->,>=Triangle] (3.75,4.7)--+(0,2.3);
\draw[->,>=Triangle] (3.75,2.3)--+(0,-2.3);
\node at (0.5,8.5) {\Large\textbf{Hydrogène} Production et consommation dans le monde};
\node at (-3.5,0) {\footnotesize Source: Institution of Mechanical Engineers};
\end{tikzpicture}
\end{document}