我为我的本科毕业论文做了一个问卷调查,现在我想评估它并将其可视化为一个图表,结合多个值。本次调查的大多数答案都在 1-5 或 1-6 的范围内。我想将它们显示在直方图中以显示绝对值,并在箱线图中显示中位数、平均值、标准差……
为了高效利用空间,我想将它们显示在表格中,左边是问题,右边是图表。目前数据是在两个图表中处理的,而不是一个。
我希望将这两个图合并成一个图表,其中包含箱线图和直方图。以下是我想要实现的一个示例。
经过几个小时的阅读和反复试验,我还是没有取得任何进展。我想知道是否有人可以帮助我正确设计。这是一张解释德语示例中的值的图片。
使用 LaTex 可以做到这一点吗?
了解这种图表的术语已经很有帮助了
编辑:这是最小的代码示例,生成第一张图片中的情节。
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pgf}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics, external}
\usetikzlibrary{fit,calc}
\usepackage{mathtools}
\usepackage[ngerman]{babel}
\newcommand*{\boxplot}[6]{
% As seen in several examples
% #1: center, #2: median, #3: 1/4 quartile, #4: 3/4 quartile, #5: min, #6: max
\addplot+[
line width=.2mm,
black,
boxplot prepared={
lower whisker={#5},
lower quartile={#3},
median={#2},
upper quartile={#4},
upper whisker={#6},
draw position = 10,
box extend = 15,
whisker extend = 17,
}
]
coordinates{};
}
\begin{document}
\begin{table}
\centering
\begin{tabular}{p{7.5cm}|p{7.5cm}}
\hline
Wie wichtig ist es dir, dass du mit deinen Kommilitonen gut auskommst? &
\begin{tikzpicture}
\begin{axis}[
height=2cm, width=7cm,
ybar, ymax=19, ymin=0, ytick={0,19}, yticklabels={0,19},
xmin=0, xmax=6, xtick={1,...,5}, xticklabels={$\text{gar nicht}$,2,3,4,$\text{sehr}$}
] \addplot coordinates {(1,0) (2,0) (3,1) (4,8) (5,10)};
\end{axis}
\end{tikzpicture}
\hspace*{0.3cm}
\begin{tikzpicture}
\begin{axis}[
height=2cm, width=7cm,
ymin=0, ymax=19, ytick={0,19}, yticklabels={,},
xmin=0, xmax=6, xtick={1,...,5}, xticklabels={$\text{gar nicht}$,2,3,4,$\text{sehr}$},
boxplot/every median/.style={draw=red},
] \boxplot{4.4736842105}{5}{3.91966759}{5.027700831}{3}{5}
\end{axis}
\end{tikzpicture}\\
\hline
\end{tabular}
\end{table}
\end{document}
答案1
仅使用一个tikzpicture
环境并调整一些设置会产生以下图表(保持大部分代码不变)。
较小的评论:
该axis y line*=right
设置将第二个轴的位置更改为图的右侧(在这种情况下不需要,因为我们没有任何可见的轴标签。但是,由于第二个图可能有一个轴,因此将其移动到右侧很有用。)
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{pgf}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics, external}
\usetikzlibrary{fit,calc}
\usepackage{mathtools}
\usepackage[ngerman]{babel}
\newcommand*{\boxplot}[6]{
% As seen in several examples
% #1: center, #2: median, #3: 1/4 quartile, #4: 3/4 quartile, #5: min, #6: max
\addplot+[
line width=.2mm,
black,
boxplot prepared={
lower whisker={#5},
lower quartile={#3},
median={#2},
upper quartile={#4},
upper whisker={#6},
draw position = 15,
box extend = 3,
whisker extend = 3,
}
]
coordinates{};
}
\begin{document}
\begin{table}
\centering
\begin{tabular}{p{7.5cm}|p{7.5cm}}
\hline
Wie wichtig ist es dir, dass du mit deinen Kommilitonen gut auskommst? &
\begin{tikzpicture}
\begin{axis}[
height=4cm, width=7cm,
ybar, ymax=19, ymin=0, ytick={0,19}, yticklabels={0,19},
xmin=0, xmax=6, xtick={1,...,5}, xticklabels={$\text{gar nicht}$,2,3,4,$\text{sehr}$}
] \addplot coordinates { (3,1) (4,8) (5,10)};
\end{axis}
\begin{axis}[
height=4cm, width=7cm,
axis x line*=top,
axis y line*=right,
ymin=0, ymax=19, ytick={0,19}, yticklabels={},
xmin=0, xmax=6, xtick={1,...,5}, xticklabels={0\%,0\%,10\%,40\%,50\%},
boxplot/every median/.style={draw=red},
] \boxplot{4.4736842105}{5}{3.91966759}{5.027700831}{3}{5}
\end{axis}
\end{tikzpicture}\\
\hline
\end{tabular}
\end{table}
\end{document}
由此得出的图如下所示: