叠加直方图和条形图(带透明度)

叠加直方图和条形图(带透明度)

当我尝试在同一张图中绘制条形图和直方图时,我遇到了麻烦。这是我的 MWE(您可以在文章末尾找到我的数据集)。

\documentclass{standalone}

\usepackage{pgfplots}
    \pgfplotsset{%
        compat=newest,%
        /pgf/number format/use comma,%
        /pgf/number format/1000 sep={\,},%
        /pgf/number format/min exponent for 1000 sep=4}

\begin{document}

\begin{tikzpicture} 
    \begin{axis}[ybar,xtick=,width=\textwidth]

    \addplot+[ybar]
            file {Data/Poisson/Poisson_Cs137_50.TKAT};

    \addplot+[hist={data=x,bins=11,data max=11,data min=0}]
            file {Data/Poisson/Poisson_Cs137_50.TKA};

\end{axis}
\end{tikzpicture}

\end{document}

这是输出: 直方图 + 条形图

如您所见,条形图的条形以值为中心,而直方图的条形以值开始并结束于下一个值。在 pgfplots 文档中搜索后,我不明白如何为这两种类型的图获得完全相同的条形(从同一点开始并在同一点结束,因此宽度相同)。

此外,由于这两个图代表泊松分布的理论数据和实验数据,我想将两者以透明度叠加:我想将实验数据绘制在理论数据上,透明度为 %。此外,我没有在文档中找到必要的信息(我知道这是我的错!)。有可能获得这个吗?

谢谢。

数据/泊松/Poisson_Cs137_50.TKAT

0 6.960737e+00
1 2.991752e+01
2 6.429334e+01
3 9.211177e+01
4 9.897500e+01
5 8.507968e+01
6 6.094597e+01
7 3.742117e+01
8 2.010471e+01
9 9.601201e+00
10 4.126634e+00
11 1.612403e+00

数据/泊松/Poisson_Cs137_50.TKA

4
6
6
5
6
6
4
2
6
5
6
6
4
5
3
5
2
3
4
5
6
6
7
7
3
5
1
2
1
4
2
6
6
9
1
5
0
7
3
8
2
4
6
4
4
5
5
7
6
6
4
2
4
3
4
2
2
4
0
2
6
4
4
5
5
5
5
4
1
6
5
10
6
1
4
4
2
5
6
5
6
3
3
5
3
3
0
7
7
4
4
3
3
7
7
6
0
5
4
4
6
3
4
8
3
4
1
3
2
3
4
4
6
4
2
4
4
1
5
4
8
4
6
7
3
3
1
7
4
4
1
6
5
7
4
5
2
4
0
6
3
2
2
4
3
5
4
4
2
5
5
3
3
7
3
3
5
3
6
4
0
4
2
1
4
1
5
6
6
7
4
4
3
6
8
3
2
5
5
6
6
2
5
5
7
3
1
4
4
3
3
2
5
5
4
4
4
3
6
5
6
3
7
5
6
4
4
6
3
4
4
4
5
2
3
4
5
6
5
4
5
10
4
5
8
1
6
3
5
2
3
1
5
3
5
2
4
1
2
0
3
2
7
7
3
4
2
9
3
1
8
5
4
2
4
5
3
3
4
5
2
2
3
3
2
3
4
8
4
5
3
2
8
1
2
6
4
6
7
4
4
4
1
5
5
3
4
4
3
5
7
6
3
6
6
4
7
5
5
2
10
7
0
3
1
3
7
7
2
5
4
3
2
5
6
6
3
5
3
2
3
1
4
7
6
7
7
5
5
4
3
3
6
3
9
4
3
3
6
7
6
8
7
2
4
8
6
6
3
4
6
5
4
6
5
6
5
2
1
2
4
4
7
2
4
3
4
4
4
3
3
3
3
2
3
6
11
5
2
4
6
6
3
3
5
4
5
3
4
4
4
5
5
8
3
5
2
3
6
4
8
2
3
5
6
5
6
5
1
6
5
2
2
6
6
6
6
8
2
6
6
6
7
4
3
3
1
6
3
5
2
1
5
3
3
3
2
3
5
4
3
7
9
4
5
9
4
5
3
5
5
3
0
6
2
5
4
3
8
7
3
7
3
6
5
4
6
5
6
1
5
2
7
5
7
7
4
3
4
4
3
4
3
5
4
6
4
6
4
4
2
1
4
5
6
4
4
3
6
5
8
7
4
6
4
3
2
4
7
4

答案1

直方图条形的范围为 0 到 1、1 到 2、2 到 3 等,因此它们以 0.5、1.5、2.5 等为中心。条形图条形以 0、1、2 等为中心。要对齐两个图,您必须移动其中一个。在这种情况下,由于您只有整数值,我认为让直方图箱从 到 、到 等运行是有意义的。您可以-0.5通过0.5设置0.51.5实现这一点data min=-0.5, data max=10.5

要使直方图半透明,您可以设置opacity=0.5

为了使条形图的每个条形宽度为一个单位,您可以设置bar width=1(这需要 PGFPlots 版本 1.8 或更高版本)。

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}
\pgfplotsset{ compat=1.9}

\begin{document}

\begin{tikzpicture} 
    \begin{axis}[ybar]

    \addplot +[bar width=1] table {
0 6.960737e+00
1 2.991752e+01
2 6.429334e+01
3 9.211177e+01
4 9.897500e+01
5 8.507968e+01
6 6.094597e+01
7 3.742117e+01
8 2.010471e+01
9 9.601201e+00
10 4.126634e+00
11 1.612403e+00
            };

    \addplot+[hist={data=x,bins=11,data max=10.5,data min=-0.5}, opacity=0.5]
            table [y expr=1] {
4
6
6
5
6
6
4
2
6
5
6
6
4
5
3
5
2
3
4
5
6
6
7
7
3
5
1
2
1
4
2
6
6
9
1
5
0
7
3
8
2
4
6
4
4
5
5
7
6
6
4
2
4
3
4
2
2
4
0
2
6
4
4
5
5
5
5
4
1
6
5
10
6
1
4
4
2
5
6
5
6
3
3
5
3
3
0
7
7
4
4
3
3
7
7
6
0
5
4
4
6
3
4
8
3
4
1
3
2
3
4
4
6
4
2
4
4
1
5
4
8
4
6
7
3
3
1
7
4
4
1
6
5
7
4
5
2
4
0
6
3
2
2
4
3
5
4
4
2
5
5
3
3
7
3
3
5
3
6
4
0
4
2
1
4
1
5
6
6
7
4
4
3
6
8
3
2
5
5
6
6
2
5
5
7
3
1
4
4
3
3
2
5
5
4
4
4
3
6
5
6
3
7
5
6
4
4
6
3
4
4
4
5
2
3
4
5
6
5
4
5
10
4
5
8
1
6
3
5
2
3
1
5
3
5
2
4
1
2
0
3
2
7
7
3
4
2
9
3
1
8
5
4
2
4
5
3
3
4
5
2
2
3
3
2
3
4
8
4
5
3
2
8
1
2
6
4
6
7
4
4
4
1
5
5
3
4
4
3
5
7
6
3
6
6
4
7
5
5
2
10
7
0
3
1
3
7
7
2
5
4
3
2
5
6
6
3
5
3
2
3
1
4
7
6
7
7
5
5
4
3
3
6
3
9
4
3
3
6
7
6
8
7
2
4
8
6
6
3
4
6
5
4
6
5
6
5
2
1
2
4
4
7
2
4
3
4
4
4
3
3
3
3
2
3
6
11
5
2
4
6
6
3
3
5
4
5
3
4
4
4
5
5
8
3
5
2
3
6
4
8
2
3
5
6
5
6
5
1
6
5
2
2
6
6
6
6
8
2
6
6
6
7
4
3
3
1
6
3
5
2
1
5
3
3
3
2
3
5
4
3
7
9
4
5
9
4
5
3
5
5
3
0
6
2
5
4
3
8
7
3
7
3
6
5
4
6
5
6
1
5
2
7
5
7
7
4
3
4
4
3
4
3
5
4
6
4
6
4
4
2
1
4
5
6
4
4
3
6
5
8
7
4
6
4
3
2
4
7
4            
            };

\end{axis}
\end{tikzpicture}

\end{document}

相关内容