matplotlib プロットの軸テキストを非表示にする 質問する

matplotlib プロットの軸テキストを非表示にする 質問する

どちらの軸にも目盛りや数字のない図をプロットしようとしています (matplotlib の命名法ではなく、従来の意味での軸を使用しています)。私が遭遇した問題は、matplotlib が値 N を減算して x(y) 目盛りラベルを調整し、軸の末尾に N を追加するというものです。

これは漠然としているかもしれませんが、次の簡略化された例では、問題が強調されており、問題となっている N の値は「6.18」です。

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

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

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()て軸にラベルを追加できます。

おすすめ記事