408

semilogx プロットがあり、xticks を削除したいと考えています。私は試した:

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

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

4

10 に答える 10

632

このplt.tick_params方法は、このようなものに非常に役立ちます。このコードは、主目盛と副目盛をオフにし、x 軸からラベルを削除します。

ax.tick_paramsオブジェクト用もありmatplotlib.axes.Axesます。

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

ここに画像の説明を入力

于 2012-10-21T14:05:20.147 に答える
207

OPが求めていたものとは正確には異なりますが、すべての軸の線、目盛り、およびラベルを無効にする簡単な方法は、単に呼び出すことです:

plt.axis('off')
于 2014-01-24T00:38:53.697 に答える
86

以下は、 matplotlib メーリング リストで見つけた別の解決策です。

import matplotlib.pylab as plt

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

グラフ

于 2015-11-14T10:56:26.587 に答える
50

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')

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

于 2012-10-21T16:37:39.387 に答える
32

これを試して、ラベルを削除してください(目盛りは削除しません):

import matplotlib.pyplot as plt

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

于 2013-11-11T21:09:54.727 に答える
20

このスニペットは、xticks のみを削除するのに役立つ場合があります。

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

このスニペットは、xticks と yticks の両方を削除するのに役立つ場合があります。

from matplotlib import pyplot as plt    
plt.xticks([]),plt.yticks([])
于 2018-06-11T15:12:38.560 に答える
9

すべての目盛りとラベルをオフにする短いコマンドを探している人は、

plt.tick_params(top=False, bottom=False, left=False, right=False,
                labelleft=False, labelbottom=False)

boolバージョンmatplotlib> = 2.1.1以降、それぞれのパラメーターの型を許可します

カスタムの目盛り設定については、ドキュメントが役立ちます。

https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.tick_params.html

于 2020-06-12T11:07:56.763 に答える