【问题标题】:Why are minor gridlines not appearing为什么没有出现次要网格线
【发布时间】:2014-02-28 16:12:50
【问题描述】:

我很难让较小的网格线出现在情节上。我已经看到了一些关于此的 SO 问题,this one 建议使用两个网格对象(一个用于主要对象,一个用于次要对象),this one 建议还添加minorticks_on

由于某种原因,当我使用下面的代码时,小网格线仍然没有出现,请任何人解释一下:

from __future__ import division
from matplotlib import pyplot as plt
from math import log, sqrt

x = range(1, 20)
x_lin = x
x_log = [log(i) for i in x]

x2 = [sqrt(i) for i in x]
x2_exp = x

ax = plt.subplot(1,1,1)
p1 = ax.plot(x, x_lin, 'g--', label='linear', linewidth=2)
p2 = ax.plot(x, x_log, 'b-', label='log', linewidth=3)
p3 = ax.plot(x2, x2_exp, 'r-', label='exp', linewidth=3)
l1 = ax.legend()
g1 = ax.grid(b=True, which='both', color='k', linestyle='-')
g2 = ax.grid(b=True, which='minor', color='k', linestyle='--')
ax.minorticks_on
plt.show()

这是我得到的:

【问题讨论】:

    标签: python python-2.7 matplotlib


    【解决方案1】:

    按照@M4rtini 给出的答案,这里是更正的代码和新图像:

    from __future__ import division
    from matplotlib import pyplot as plt
    from math import log, sqrt
    
    x = range(1, 20)
    x_lin = x
    x_log = [log(i) for i in x]
    
    x2 = [sqrt(i) for i in x]
    x2_exp = x
    
    ax = plt.subplot(1,1,1)
    p1 = ax.plot(x, x_lin, 'g--', label='linear', linewidth=2)
    p2 = ax.plot(x, x_log, 'b-', label='log', linewidth=3)
    p3 = ax.plot(x2, x2_exp, 'r-', label='exp', linewidth=3)
    l1 = ax.legend()
    g1 = ax.grid(b=True, which='major', color='k', linestyle='-', linewidth=0.5)
    g2 = ax.grid(b=True, which='minor', color='k', linestyle='-', linewidth=0.2)
    ax.minorticks_on()
    plt.show()
    

    【讨论】:

      【解决方案2】:

      更改:ax.minorticks_onax.minorticks_on()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-25
        • 2022-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多