2012-10-03 22 views
32

Làm cách nào tôi có thể chỉ bật các dấu nhỏ trên trục y trên tuyến tính tuyến tính so với tuyến tính?làm thế nào để bật ve nhỏ chỉ trên trục y matplotlib

Khi tôi sử dụng chức năng để bật các dấu nhỏ, chúng xuất hiện trên cả trục x và trục y.

+0

bạn có thể đề cập đến cách bạn bật ve nhỏ? thx – drevicko

+24

tìm thấy nó .. 'plt.minorticks_on()' – drevicko

Trả lời

28

nevermind, tôi đã tìm ra.

ax.tick_params(axis='x',which='minor',bottom='off') 
19

Dưới đây là một cách khác để tôi tìm thấy trong matplotlib documentation:

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib.ticker import MultipleLocator 

a = np.arange(100) 
ml = MultipleLocator(5) 
plt.plot(a) 
plt.axes().yaxis.set_minor_locator(ml) 
plt.show() 

này sẽ đặt ve nhỏ trên chỉ trục y, kể từ ve nhỏ là tắt theo mặc định.

3

Ngoài ra, nếu bạn chỉ muốn ve nhỏ trên trục y thực tế, chứ không phải trên cả hai bên trái và bên phải của đồ thị, bạn có thể làm theo các plt.axes().yaxis.set_minor_locator(ml) với plt.axes().yaxis.set_tick_params(which='minor', right = 'off'), như vậy:

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib.ticker import MultipleLocator 

a = np.arange(100) 
ml = MultipleLocator(5) 
plt.plot(a) 
plt.axes().yaxis.set_minor_locator(ml) 
plt.axes().yaxis.set_tick_params(which='minor', right = 'off') 
plt.show() 
0

Để thiết ve nhỏ tại các địa điểm tùy chỉnh:

ax.set_xticks([0, 10, 20, 30], minor=True) 
Các vấn đề liên quan