当markevery ='float'用于对数日志缩放图

时间:2017-06-27 17:45:00

标签: matplotlib jupyter-notebook

Matplotlib版本与Ubuntu 14.04 LTS,Python 2.7和Jupyter 4.1.1一起使用:

>>> import matplotlib
>>> matplotlib.__version__
'2.0.2+4277.g3ecd965'

创建日志 - 日志图:

t = np.arange(0.0, 600.0, 2.0)
plt.loglog(t, 20 * np.exp(-t / 10.0), marker='o', markevery=0.1, linestyle='None')

enter image description here

Expected that

  

标记将沿着线间隔大致相等的距离

然而,没有观察到标记物。当阵列的起点稍微偏移到正数侧时,标记出现。比较:

t = np.arange(0.01, 600.0, 2.0)
plt.loglog(t, 20 * np.exp(-t / 10.0), marker='o', markevery=0.1, linestyle='None')

enter image description here

请注意,当使用负起始值时,标记会消失。 此外,其他 markerevery 选项效果很好。

非常感谢任何想法。

PS:这是一个类似的问题:matplotlib 1.4.2 with Seaborn: line markers not functioning

1 个答案:

答案 0 :(得分:2)

0的对数是负无穷大。负无穷大加一些值(此处加0.1)仍为负无穷大。因此,未显示减去无穷大的所有点。但是当然 在负无穷大处的点也没有显示,因为负无穷大不是数值。总的来说,没有像预期的那样显示任何一点。

如果您选择第一个点来给出一些数值,那么市场营销当然可以正常工作。