我正在尝试使用 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}