tikzpicture 对数对数直方图

tikzpicture 对数对数直方图

我正在尝试使用 TikZ 创建类似于此图像的图表(链接:http://www.flickr.com/photos/68902462@N08/8340520199/in/photostream

在此处输入图片描述

这是一个直方图,其轴采用对数刻度。我希望数字采用指数格式。有人能帮我怎么做吗?我的直方图数据如下:

(-INFINITY)-(1e-8): count=0
(1e-8)-(1e-7):      count=27133
(1e-7)-(1e-6):      count=17
(1e-6)-(1e-5):      count=95
(1e-5)-(1e-4):      count=224
(1e-4)-(1e-3):      count=1060
(1e-3)-(1e-2):      count=6900
(1e-2)-(1e+1):      count=34402
(1e+1)-(1e+2):      count=149564
(1e+2)-(1e+3):      count=877
(1e+3)-(+INFINITY): count=0

如能得到任何帮助我将非常感激。

答案1

PGFPlots 可以处理非均匀间隔和对数-对数直方图:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    axis on top,
    width=12cm,
    height=4cm,
    xmode=log,
    ymode=log,
    ybar interval,
    x tick label as interval=false,
    xtick={},
    xtickten={-8,-6,...,4},
    grid=none
]
\addplot [fill=gray!50] table [x=Lower, y=Count] {
Lower Upper Count
0 1e-8 0
1e-8 1e-7 27133
1e-7 1e-6 17
1e-6 1e-5 95
1e-5 1e-4 224
1e-4 1e-3 1060
1e-3 1e-2 6900
1e-2 1e+1 34402
1e+1 1e+2 149564
1e+2 1e+3 877
1e+3 +INFINITY 0
};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容