web-dev-qa-db-ja.com

python matplotlib imshow()カスタム目盛り

Imshow()の出力にカスタムの目盛りを設定しようとしていますが、適切な組み合わせが見つかりません。

以下のスクリプトは私の試みを要約したものです。このスクリプトでは、デフォルト(-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()

私はset_ticks()がそれを行う方法ではないかもしれないという感覚を得始めていますが、私は他に何を試すかわかりません。

ありがとう!

14
zje

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

_plt.xticks(ticks)
_

編集:Yannがコメントで言及しているように、あなたも興味があるかもしれません plt.yticks()

結果(plt.xticks(ticks, fontsize=9)を使用): enter image description here

15
bernie