缩放matplotlib图,以便显示小/大的正/负差异

cls*_*udt 3 python plot matplotlib ipython-notebook

在此输入图像描述

该图应该显示时间差异,可以是负值和正值.有些差异非常小,而其他差异非常大.

我可以缩放x轴,使分辨率在x = 0附近非常精细,并且远离x = 0粗糙吗?是否有可能从x = 0向外输出对数标度?

编辑:

正如@Evert所建议的,这解决了我的问题:

ax = gca()
...
ax.set_xscale("symlog")
Run Code Online (Sandbox Code Playgroud)

并产生这个情节:

在此输入图像描述

小智 7

您可以使用以下symlog设置xscale():http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xscale

它以对数方式(也在负面)进行缩放,除了零周围的有限部分(可以使用更多关键字设置,请参阅文档):该部分是线性缩放的,从而避免了所有log(0)问题.

请看这里的例子.