python - tick_params off




matplotlibプロットの軸テキストを隠す (4)

どちらの軸にも目盛りや数字のない図をプロットしようとしています(私は軸をmatplotlibという命名法ではなく伝統的な意味で使っています)。 私が遭遇した問題は、matplotlibが値Nを減算することによってx(y)ティックラベルを調整し、次に軸の最後にNを追加することです。

これはあいまいかもしれませんが、次の簡略化された例では、問題点が強調されています。「6.18」はNの違反値です。

import matplotlib.pyplot as plt
import random
prefix = 6.18

rx = [prefix+(0.001*random.random()) for i in arange(100)]
ry = [prefix+(0.001*random.random()) for i in arange(100)]
plt.plot(rx,ry,'ko')

frame1 = plt.gca()
for xlabel_i in frame1.axes.get_xticklabels():
    xlabel_i.set_visible(False)
    xlabel_i.set_fontsize(0.0)
for xlabel_i in frame1.axes.get_yticklabels():
    xlabel_i.set_fontsize(0.0)
    xlabel_i.set_visible(False)
for tick in frame1.axes.get_xticklines():
    tick.set_visible(False)
for tick in frame1.axes.get_yticklines():
    tick.set_visible(False)

plt.show()

私が知りたいと思う3つのことは次のとおりです。

  1. 最初の場所でこの動作をオフにする方法(ほとんどの場合有用ですが、必ずしもそうではありません!)私はmatplotlib.axis.XAxisを見て、適切なものを見つけることができません

  2. どうすればNを消滅させることができますか(すなわちX.set_visible(False)

  3. とにかく上記を行う良い方法はありますか? 私の最終的なプロットは、それが関連している場合、図の4x4のサブプロットになります。


1つのトリックは、それを隠すために白としてティックラベルの色を設定することができます!

plt.xticks(color='w')
plt.yticks(color='w')

あなたが私のようなものであり、常にAxes、 ax取得しない場合は、Figureをプロットするときに、単純な解決策が必要です

plt.xticks([])
plt.yticks([])

各要素を非表示にする代わりに、軸全体を非表示にすることができます。

frame1.axes.get_xaxis().set_visible(False)
frame1.axes.get_yaxis().set_visible(False)

または、ティックを空のリストに設定することもできます。

frame1.axes.get_xaxis().set_ticks([])
frame1.axes.get_yaxis().set_ticks([])

この2番目のオプションでは、 plt.xlabel()およびplt.ylabel()を使用して、軸にラベルを追加することができます。


多少古いスレッドですが、これはmatplotlibの最新バージョンを使用するより高速な方法です:

x軸の主要フォーマッタを設定する

ax.xaxis.set_major_formatter(plt.NullFormatter())




plot