【发布时间】:2016-10-30 13:03:25
【问题描述】:
我正在尝试在 jupyter notebook(在 macbook pro 上)中使用 matplotlib 绘制一些非常小的值。但是,无论我是否设置了 y 轴限制,我得到的只是一条平线。我所追求的是类似于下面关于 y 轴表示法的示例 (png)。我还在 jupyter 之外尝试了相同的示例,但仍然得到相同的结果。这是my previous question上的代码suggested by Andrew Walker:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(figsize=(13,6))
ax = fig.add_subplot(111)
plt.hold(True)
xs = np.linspace(0, 1, 101)
ys = 1e-300 * np.exp(-(xs-0.5)**2/0.01)
ax.plot(xs, ys, marker='.')
这是我得到的:
这就是我所追求的:
【问题讨论】:
-
经过测试
ax.set_ylim(0, 1e300)实际上将其设置为-0.001(它在设置时返回限制)。你可以去并真正让它工作的最低点是ax.set_ylim(0.0,1e-286) -
1e-300接近您可以在双精度中表示的最小值。最好扩展您的数据,以免您不在该范围内。
标签: python matplotlib jupyter