我创建了一个函数,可以选择数据框中的 100 对列。我想根据函数对的显示创建数据的散点图。我希望它有 10 行和 10 列。它在大多数情况下都有效,但它只显示一个点而不是很多点。 你能帮我一下吗? 谢谢你
我不知道你如何构建你的
pairs
,但这里的关键是在你的配对中使用axs.flatten
和zip
:
import pandas as pd
import matplotlib.pyplot as plt
# Minimal working example
df = pd.DataFrame(np.random.random((100, 200))).add_prefix('feature_')
pairs = zip(df.columns[::2], df.columns[1::2])
fig, axs = plt.subplots(10, 10, figsize=(20, 20))
for pair, ax in zip(pairs, axs.flatten()):
ax.scatter(df[pair[0]], df[pair[1]], color='red', s=5)
ax.set_xlabel(pair[0])
ax.set_ylabel(pair[1])
ax.yaxis.set_label_position('right')
fig.tight_layout()
plt.show()
输出: