嗨我有一个小问题,我做了一个循环,每次迭代创建3个图并设置文本在x标签上旋转,但仅适用于连续的最后一个无花果。我不确定如何影响第一个和第二个数字。
def multi_scatter(x_list, y):
sns.set(style='whitegrid', rc={"grid.linewidth": 0.2})
sns.set_context("paper", font_scale=2)
for x in range(0, len(x_list)):
if x == 0 or x % 3:
chart = sns.pairplot(data=ds_train,
y_vars=[y],
x_vars=[x_list[x], x_list[x+1], x_list[x+2]],
height = 10)
plt.xticks(rotation = 45)
plt.show()
else:
continue
先谢谢您
这是因为您定义了chart
,但从未从chart
中提取轴。您需要指定轴是什么才能设置xticklabels。尝试在代码中添加这些行(请参阅内部for
循环):
def multi_scatter(x_list, y):
sns.set(style='whitegrid', rc={"grid.linewidth": 0.2})
sns.set_context("paper", font_scale=2)
for x in range(0, len(x_list)):
if x == 0 or x % 3:
chart = sns.pairplot(data=ds_train,
y_vars=[y],
x_vars=[x_list[x], x_list[x+1], x_list[x+2]],
height = 10)
for ax in chart.axes.flat:
labels = ax.get_xticklabels()
ax.set_xticklabels(labels=labels, rotation=45)
else:
continue
我在没有访问您的数据的情况下并未对其进行测试,所以请让我知道它是否有效!