2012-02-21 44 views
8

Tôi đang cố gắng đặt dấu chọn tùy chỉnh trên đầu ra imshow() của mình, nhưng không tìm thấy kết hợp phù hợp.python matplotlib imshow() dấu kiểm tùy chỉnh

Tập lệnh bên dưới tóm tắt các nỗ lực của tôi. Trong tập lệnh này, tôi đang cố gắng đánh dấu các dấu chấm ở tất cả các số chẵn trên mỗi trục thay vì số mặc định (-10, -5,0,5,10)

#!/usr/bin/env python 
import matplotlib.pyplot as plt 
import numpy as np 

#Generate random histogram 
N=25 
middle=N/2 
hist=np.random.random_sample((N,N)) 

#Ticks at even numbers, data centered at 0 
ticks=np.arange(-middle,middle+2,2) 

extent=(-middle,middle,-middle,middle) 
plt.imshow(hist, interpolation='nearest', extent=extent, origin='lower') 
plt.colorbar() 

# 
#These are my attempts to set the tick marks 
# 
#plt.gcf().gca().set_ticks(ticks) 

#plt.gca().set_ticks(ticks) 

#ax=plt.axes() 
#ax.set_ticks(ticks) 

plt.show() 

Tôi bắt đầu nhận cảm thấy rằng set_ticks() có thể không phải là cách để làm điều đó, nhưng tôi không chắc chắn những gì khác để thử.

Cảm ơn!

Trả lời

12

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks

plt.xticks(ticks) 

Chỉnh sửa: như Yann đề cập trong một chú thích, bạn cũng có thể quan tâm đến plt.yticks()

quả (sử dụng plt.xticks(ticks, fontsize=9)): enter image description here

+2

hoặc 'plt.gca() .set_xticks (ticks) ' – steabert

+2

+1 - Ngoài ra, tôi đoán là OP đang tìm kiếm cả hai' set_xticks' và 'set_yticks' – Yann

+0

Chính xác những gì tôi đang tìm kiếm ... không chắc chắn h Tôi nhớ nó, cảm ơn! – zje

Các vấn đề liên quan