以下 MWE
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar,ymode = log]
\addplot coordinates{
(1,1e-15)
(2,1e-14)
(3,1e-13)
};
\end{axis}
\end{tikzpicture}
\end{document}
汇编成以下条形图:
我希望条形图从屏幕底部开始而不是从顶部开始,因为这样可视化我的数据更有意义(它们是计算错误)。
有没有 pgfplots 选项可以实现这一点?手册只说条形图总是从 0 开始(并且没有办法改变这一点);显然,当ymode=log
这被解释为从 log(1)=0 开始时,这不是我想要的。
答案1
log origin
您可以通过设置为 或0
来定义对数图的“绘图原点”的位置infty
。如果将其设置为0
(默认值),则条形图、梳状图和填充区域图将从 开始log(1)=0
,因此在本例中为图的顶部。如果将其设置为infty
,则绘图将从绘图区域的底部边缘开始,这正是您在本例中想要的:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar,ymode = log, log origin=infty]
\addplot coordinates{
(1,1e-15)
(2,1e-14)
(3,1e-13)
};
\end{axis}
\end{tikzpicture}
\end{document}