軸の値を非表示にするが、matplotlibで軸の目盛りラベルを保持する


101

私はこの画像を持っています:

plt.plot(sim_1['t'],sim_1['V'],'k')
plt.ylabel('V')
plt.xlabel('t')
plt.show()

ここに画像の説明を入力してください

数字を隠したい。私が使用する場合:

plt.axis('off')

...私はこの画像を取得します:

ここに画像の説明を入力してください

また、ラベルを非表示にVtます。値を非表示にしながらラベルを保持するにはどうすればよいですか?

回答:


136

matplotlib オブジェクト指向アプローチを使用する場合、これはax.set_xticklabels()and を使用した簡単なタスクax.set_yticklabels()です。

import matplotlib.pyplot as plt

# Create Figure and Axes instances
fig,ax = plt.subplots(1)

# Make your plot, set your axes labels
ax.plot(sim_1['t'],sim_1['V'],'k')
ax.set_ylabel('V')
ax.set_xlabel('t')

# Turn off tick labels
ax.set_yticklabels([])
ax.set_xticklabels([])

plt.show()

11
目盛りラベルを削除するのに最適ですが、目盛りは引き続き表示されます...
Andrew Schreiber 2017


44

これはうまくいきます。前にこれを貼り付けてくださいplt.show()

plt.gca().axes.get_yaxis().set_visible(False)

ブーム。


2
おかげで、これはうまくいきます。その他の場合、ティックは保持されます(ティックの方向がデフォルトで外になっているため)
user140259 '16

ax.set_xticklabels([])のような回答とは異なり、これは次の場合に完全に機能します。sharexオプションを使用してサブプロットを使用し、サブプロットの1つだけのティックを削除したい場合。
МихаилЛисаков

すごい!また、plt.gca()。axes.get_xaxis()。set_visible(False)を使用して、x軸のラベルと目盛りも削除します。
fbparis

1
または、axオブジェクトが既にある場合ax.xaxis.set_visible(False)
スピンアップ

1
@filipお役に立てて嬉しい:)
MRT

3

これが最善の方法かどうかはわかりませんが、次のように目盛りラベルを確実に置き換えることができます。

import matplotlib.pyplot as plt
x = range(10)
y = range(10)
plt.plot(x,y)
plt.xticks(x," ")
plt.show()

Python 3.4では、これにより、x軸に目盛りラベルのない単純なラインプロットが生成されます。簡単な例はこちらです:http : //matplotlib.org/examples/ticks_and_spines/ticklabels_demo_rotation.html

この関連する質問には、いくつかのより良い提案もありますmatplotlibプロットでの軸テキストの非表示

私はPythonが初めてです。以前のバージョンでは走行距離が異なる場合があります。多分他の人が助けることができますか?


2

目盛りを完全に削除するには:

ax.set_yticks([])
ax.set_xticks([])

そうでない場合ax.set_yticklabels([])ax.set_xticklabels([])目盛りを維持します。


「しようとするとax.set_yticks([], [])、次の警告が表示されます。「MatplotlibDeprecationWarning:set_xticks()のマイナーパラメーターを位置的に渡すことは、Matplotlib 3.2以降では非推奨です。パラメーターは、後でキーワードのみの2つのマイナーリリースになる予定です。」正しい選択肢は何ですか?
Rylan Schaeffer

@RylanSchaeffer、あなたの例ax.set_yticks([], [])では、エラーの原因となる2つの空のリストを渡しています。なぜそうするのですか?コマンドマニュアルを参照してください。最初の引数を定位置で渡す必要がない場合は、キーワードを使用して渡しますax.set_yticks(ticks=[])
ルスランS.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.