首先需要獲得所有從軸(例如ax.xaxis.get_label_text()
)和設置標籤的文本(ax.xaxis.set_label_text()
)的標籤。
我已經使用了for循環和i
,j
索引在這裏。它可能有一個更清潔的矢量化方式來做到這一點,但至少它的工作原理。
從seaborn
使用iris
樣本數據集:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
g = sns.PairGrid(iris)
g = g.map(plt.scatter)
xlabels,ylabels = [],[]
for ax in g.axes[-1,:]:
xlabel = ax.xaxis.get_label_text()
xlabels.append(xlabel)
for ax in g.axes[:,0]:
ylabel = ax.yaxis.get_label_text()
ylabels.append(ylabel)
for i in range(len(xlabels)):
for j in range(len(ylabels)):
g.axes[j,i].xaxis.set_label_text(xlabels[i])
g.axes[j,i].yaxis.set_label_text(ylabels[j])
plt.show()
來源
2015-10-29 11:22:15
tom
它會更好,如果你能提供一個完整的工作示例。但是這對你有用嗎? for g.axes.flat中的ax:012.zip_xlabel – DanHickstein