web-dev-qa-db-ja.com

matplotlibプロトコルのxticksを削除しますか?

私は半対数プロットを持っています、そして私はxticksを取り除きたいです。私は試した:

plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])

グリッドは消えますが(OK)、小さな目盛り(主目盛りの場所)は残ります。それらを削除する方法?

223
Vincent

tick_params メソッドはこのような場合にとても便利です。このコードは、主目盛りと副目盛りをオフにして、x軸からラベルを削除します。

from matplotlib import pyplot as plt
plt.plot(range(10))
plt.tick_params(
    axis='x',          # changes apply to the x-axis
    which='both',      # both major and minor ticks are affected
    bottom=False,      # ticks along the bottom Edge are off
    top=False,         # ticks along the top Edge are off
    labelbottom=False) # labels along the bottom Edge are off
plt.show()
plt.savefig('plot')
plt.clf()

enter image description here

376
John Vinyard

厳密にはOPが求めていたものではありませんが、すべてのAxesの行、目盛り、およびラベルを無効にする簡単な方法は、単に呼び出すことです。

plt.axis('off')
96
Martin Spacek

別の方法として、空の目盛り位置とラベルを渡すことができます。

plt.xticks([], [])
58
hashmuke

これは私が matplotlibメーリングリスト で見つけた別の解決策です:

import matplotlib.pylab as plt

x = range(1000)
ax = plt.axes()
ax.semilogx(x, x)
ax.xaxis.set_ticks_position('none') 

graph

58
Tom Phillips

John Vinyardによって与えられたものより良い、そしてより簡単な解決策があります。 NullLocatorを使う:

import matplotlib.pyplot as plt

plt.plot(range(10))
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.show()
plt.savefig('plot')

それが役立つことを願っています。

39
dmcdougall

これを試してラベルを削除してください(目盛りは削除しないでください)。

import matplotlib.pyplot as plt

plt.setp( ax.get_xticklabels(), visible=False)

の例

24
auraham

このスニペットはxticksだけを削除するのに役立つかもしれません。

from matplotlib import pyplot as plt    
plt.xticks([])

このスニペットは、xticksとyticksの両方を削除するのに役立つかもしれません。

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])
8
Amitrajit Bose
# remove all the ticks (both axes), and tick labels on the Y axis
plt.tick_params(top='off', bottom='off', left='off', right='off', labelleft='off', labelbottom='on')
2