2014-02-28 63 views
0

我很難嘗試讓小網格線出現在圖上。我已經看到了幾個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() 

這裏是我得到:

enter image description here

回答

1

更改:ax.minorticks_onax.minorticks_on()

2

繼@ 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() 

相關問題