在具有多个坐标轴的对数-对数图中关闭网格

4
我想画一张含有两个y轴和对数对数图的图表。我按照这里给出的示例进行操作:

现在,我想关闭网格线,因为如果我将其打印在小纸张上,它看起来非常丑陋。然而,网格线就是无法消失!如果我使用非对数刻度尺进行操作,一切都正常,但是这种方法似乎行不通。

以下是代码:

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()
3个回答

10

有没有办法获取网格的当前状态?我的意思是,我想要 ax1.grid(b!=b) 的功能。 - arbulgazar
我不这么认为。另请参阅此问题 - Robbert
调用 ax.grid() 就是你要求的 @arbulgazar。就好像 ax1.grid(b!=b) 是一样的东西。 - Thomas Fauskanger

0
在v1.5.3的axis_api文档中,如下所述:
grid(self, b=None, which='major', axis='both', **kwargs)
打开或关闭轴网格;b是一个布尔值。(为了与MATLAB兼容,b也可以是字符串'on'或'off'。)
如果b为None且len(kwargs)==0,则切换网格状态。如果提供了kwargs,则假定您想要网格,并将b设置为True。
换句话说,调用ax.grid()应该在不需要知道现有状态的情况下切换网格的开关。(回答arbulgazar上面的问题。我声望低于50,无法通过评论回复。)

0

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


2
你的代码加上一点解释会大幅提高你的答案质量。 - Thomas Bormans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接