该图应该显示时间差异,可以是负值和正值。有些差异非常小,而其他差异非常大。
我可以缩放x轴,使分辨率在x = 0附近非常精细,并且远离x = 0粗糙吗?是否有可能从x = 0开始向外对数刻度?
编辑:
根据@Evert的建议,这解决了我的问题:
ax = gca()
...
ax.set_xscale("symlog")
并产生这个情节:
答案 0 :(得分:7)
您可以使用symlog
:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xscale
xscale()
设置
它以对数方式(也在负面)进行缩放,除了零周围的有限部分(可以使用其他关键字设置,请参阅文档):该部分是线性缩放的,从而避免了所有log(0)
个问题
有关示例,请参阅here。
答案 1 :(得分:3)
我会制作两个子图:绘制右侧子图中的正时间,并在左侧子图中绘制abs(负时间),并使用reversed x-axis。
是否有可能从x = 0向外输出对数刻度?
不,因为对数图不显示零 - 当你接近log-x轴的“左端”时,你会在日志空间中转到负无穷大,所以你不能越过零来得到真正的负面价值观。你不得不以某种方式削减零。