回答:
これは、公式サイトからの提案matplotlibの3ソリューションですHERE:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax = plt.subplot(111)
ax.plot(x, y)
# Hide the right and top spines
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
# Only show ticks on the left and bottom spines
ax.yaxis.set_ticks_position('left')
ax.xaxis.set_ticks_position('bottom')
plt.show()
spine
オブジェクトへの参照が表示されず、このキーワードを推測していなかったでしょう。
[編集]これを含むバージョン1.3.0の現在(2013-10)のmatplotlib
その機能は実際に追加されたばかりで、Subversionバージョンが必要です。ここでサンプルコードを見ることができます。
オンラインでもっと良い例があると言って更新しています。ただし、まだSubversionバージョンが必要ですが、これはまだリリースされていません。
[編集] Matplotlib 0.99.0 RC1がリリースされたばかりで、この機能が含まれています。
mpl.subplots
この方法では使用できませんか?
(これは、ここでの包括的な回答に加えて、拡張コメントの詳細です。)
これら3つの要素は、それぞれ独立して非表示にできることに注意してください。
境界線を隠すには(別名 "spine"):ax.set_frame_on(False)
またはax.spines['top'].set_visible(False)
目盛りを非表示にするには: ax.tick_params(top=False)
ラベルを非表示にするには: ax.tick_params(labeltop=False)
Library Seabornには、関数despine()でこれが組み込まれています。
追加するだけです:
import seaborn as sns
次に、グラフを作成します。そして最後に追加します:
sns.despine()
関数のデフォルトのパラメータ値の一部を見ると、上と右のスパインが削除され、下と左のスパインが保持されています。
sns.despine(top=True, right=True, left=False, bottom=False)
ここでさらにドキュメントをチェックしてください:https: //seaborn.pydata.org/generated/seaborn.despine.html
すべてのプロットから削除する必要がある場合は、スタイル設定(スタイルシートまたはrcParams)でスパインを削除できます。例えば:
import matplotlib as mpl
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
すべてのスパインを削除する場合:
mpl.rcParams['axes.spines.left'] = False
mpl.rcParams['axes.spines.right'] = False
mpl.rcParams['axes.spines.top'] = False
mpl.rcParams['axes.spines.bottom'] = False