条形之间的空间、图的高度和宽度

条形之间的空间、图的高度和宽度

我正在使用 pgfplots 从数据文件生成条形图。这是 MWE:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  xbar, 
%  enlarge y limits=0.2, 
  xlabel={Häufigkeit},
  symbolic y coords={sehr viel mehr,deutlich mehr,Verzehr ist gleich geblieben,etwas
    weniger O+G,deutlich weniger O+G,keine Bewertung möglich},
  ytick=data,
  nodes near coords, nodes near coords align={horizontal},
  ]
\addplot table[col sep=tab,header=false] {data1.dat};
\end{axis}
\end{tikzpicture}


\begin{tikzpicture}
\begin{axis}[
  xbar, 
%  enlarge y limits=auto, 
  xlabel={Häufigkeit},
  symbolic y coords={Äpfel,Melonen,Erdbeeren,Bananen,Trauben,Nektarinen,Aprikosen,Clementinen,Pfirsiche,Birnen,Kiwi,Pflaumen,individuell völlig verschieden,eigentlich alle Sorten,Orangen,Kirschen,Himbeeren,Ananas,Mirabellen},
  ytick=data,
  nodes near coords, nodes near coords align={horizontal},
  ]
\addplot table[col sep=tab,header=false] {data2.dat};
\end{axis}
\end{tikzpicture}
\end{document}

数据1.dat:

11  sehr viel mehr
55  deutlich mehr
4   Verzehr ist gleich geblieben
0   etwas weniger O+G
0   deutlich weniger O+G
0   keine Bewertung möglich

数据2.dat:

56  Äpfel
20  Melonen
12  Erdbeeren
45  Bananen
18  Trauben
12  Nektarinen
8   Aprikosen
4   Clementinen
10  Pfirsiche
19  Birnen
16  Kiwi
7   Pflaumen
1   individuell völlig verschieden
1   eigentlich alle Sorten
7   Orangen
3   Kirschen
1   Himbeeren
1   Ananas
1   Mirabellen

以下是情节:

条形图 1

条形图 2

有些问题我无法解决:

  1. 我想知道为什么即使需要更多空间,每个地块都有相同的高度和宽度。
  2. 如何在第二个图中增加条形之间的空间?由于我有许多图,因此我希望有一个全局选项可以自动调整条形之间的空间。

提前致谢!Christoph

编辑:下面的图显示了间距的进一步问题(与 MWE 中的 pgfplots 设置相同,只是我添加了“yticklabel style={text width=3cm,align=right}”,当然还有不同的数据。)

在此处输入图片描述

答案1

默认情况下,绘图总是占用相同的空间(240pt207pt。如果您希望绘图根据条形图的数量调整其高度,则可以定义方向上单位的长度,例如y通过设置。然后,如果您将 定义为,则条形图之间将不会重叠。自 PGFPlots 版本 1.7(我认为)以来,您还可以以绝对长度定义顶部和底部的额外空间(在此之前,您只能以数据单位指定它)。y=0.5cmbar width0.4cm

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
  xbar, 
  y=-0.5cm,
  bar width=0.3cm,
  enlarge y limits={abs=0.45cm},
  xlabel={Häufigkeit},
  symbolic y coords={sehr viel mehr,deutlich mehr,Verzehr ist gleich geblieben,etwas
    weniger O+G,deutlich weniger O+G,keine Bewertung möglich},
  ytick=data,
  nodes near coords, nodes near coords align={horizontal},
  ]
\addplot table[col sep=comma,header=false] {
11,sehr viel mehr
55,deutlich mehr
4,Verzehr ist gleich geblieben
0,etwas weniger O+G
0,deutlich weniger O+G
0,keine Bewertung möglich
};
\end{axis}
\end{tikzpicture}


\begin{tikzpicture}
\begin{axis}[
  xbar,
  y=-0.5cm,
  bar width=0.3cm,
  enlarge y limits={abs=0.45cm},
%  enlarge y limits=auto, 
  xlabel={Häufigkeit},
  symbolic y coords={Äpfel,Melonen,Erdbeeren,Bananen,Trauben,Nektarinen,Aprikosen,Clementinen,Pfirsiche,Birnen,Kiwi,Pflaumen,individuell völlig verschieden,eigentlich alle Sorten,Orangen,Kirschen,Himbeeren,Ananas,Mirabellen},
  ytick=data,
  nodes near coords, nodes near coords align={horizontal},
  ]
\addplot table[col sep=comma,header=false] {
56,Äpfel
20,  Melonen
12,  Erdbeeren
45,  Bananen
18,  Trauben
12,  Nektarinen
8,   Aprikosen
4,   Clementinen
10,  Pfirsiche
19,  Birnen
16,  Kiwi
7,   Pflaumen
1,   individuell völlig verschieden
1,   eigentlich alle Sorten
7,   Orangen
3,   Kirschen
1,   Himbeeren
1,   Ananas
1,   Mirabellen
};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容