web-dev-qa-db-ja.com

Pandasプロットで軸全体ではなく、軸ラベルのみを非表示にします

Pandasプロットでxlabelのテキストをクリアできます:

_plt.xlabel("")
_

代わりに、ラベルを非表示にすることはできますか?

.xaxis.label.set_visible(False)のようなものです。

19
KcFnMi

Pandas docs -

SeriesおよびDataFrameのplotメソッドは、plt.plot()の単純なラッパーです。

つまり、matplolibでできることはすべて、Pandas DataFrameプロットでできます。

pyplotには、軸のプロパティを設定できるaxis() メソッドがあります。 plt.axis('off')を呼び出す前にplt.show()を呼び出すと、both軸がオフになります。

_df.plot()
plt.axis('off')
plt.show()
plt.close()
_

単一の軸を制御するには、プロットの Axes を介してそのプロパティを設定する必要があります。 x軸の場合- (pyplot.axes()。get_xaxis().....

_df.plot()
ax1 = plt.axes()
x_axis = ax1.axes.get_xaxis()
x_axis.set_visible(False)
plt.show()
plt.close()
_

同様に、軸ラベルを制御するには、ラベルを取得してオフにします。

_df.plot()
ax1 = plt.axes()
x_axis = ax1.axes.get_xaxis()
x_axis.set_label_text('foo')
x_label = x_axis.get_label()
##print isinstance(x_label, matplotlib.artist.Artist)
x_label.set_visible(False)
plt.show()
plt.close()
_

このようにx軸に到達することもできます

_ax1 = plt.axes()
x_axis = ax1.xaxis
x_axis.set_label_text('foo')
x_axis.label.set_visible(False)
_

またはこれ

_ax1 = plt.axes()
ax1.xaxis.set_label_text('foo')
ax1.xaxis.label.set_visible(False)
_

.set_visible()Artist メソッドです。軸とラベルはアーティストであるため、 アーティストのメソッド/属性独自の があります。プロットをカスタマイズするには多くの方法があります。時々、閲覧したい機能を見つけることができます Gallery および Examples

27
wwii