pgfplots 和对数刻度:从屏幕底部开始的条形图

pgfplots 和对数刻度:从屏幕底部开始的条形图

以下 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}

相关内容