4

我想绘制一个带有两个 y 刻度的图形和一个 loglog 图。我按照这里给出的例子:

现在,我想关闭网格,因为如果我在小纸上打印它看起来很丑。然而,网格并没有消失!如果我使用非对数刻度执行此操作,一切正常,但不知何故这不起作用。

这是代码:

import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
t = np.arange(0.01, 10.0, 0.01)
s1 = np.exp(t)
ax1.loglog(t, s1)
plt.hold(False)
plt.draw()
plt.show()
4

3 回答 3

10

您可以使用网格功能ax1.grid(b=False)

于 2013-04-01T11:31:09.313 回答
0

fig = plt.subplots(m, n, subplot_kw={'xticks': [], 'yticks': []}) # m_by_n grid

于 2016-05-16T19:34:26.533 回答
0

在关于axis_api的v1.5.3文档中说明了以下内容:

grid(self, b=None, which='major', axis='both', **kwargs)

打开或关闭轴网格;b是一个布尔值。(对于 MATLAB 兼容性,b也可以是字符串,“on”或“off”。)

如果bNone并且len(kwargs)==0,切换网格状态。如果 提供了kwargs,则假定您需要一个网格,因此将b设置为True

换句话说,调用ax.grid()应该在不需要知道现有状态的情况下打开和关闭网格。(回答上面 arbulgazar 的问题。我的声誉低于 50,所以无法回复评论。)

于 2016-12-09T04:13:29.520 回答