我想针对同一目标变量绘制一堆变量。所以有一种scatter matrix,但是有list_of_df_columns-vs-one_df_column而不是all-vs-all。
我已经考虑过在循环中逐个添加子图,但似乎必须有更好的方法。有没有办法使用scatter_matrix函数来做到这一点?
我想要针对单个结果绘制数十个变量,我真的希望结果很好并且紧凑,因此它们可以作为单个数字呈现。
答案 0 :(得分:1)
如果将索引设置为固定列,那么裸plot
可能会有所帮助:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'A':[1,2,3,4,5,6],'B':[2,0,3,6,1,3],'C':[7,3,2,1,5,0],'D':[1,3,0,2,2,6]})
col = 'A'
df2 = df.drop(col,axis=1)
df2.index = df[col]
df2.plot(subplots=True, style='.')
plt.legend(loc='best')
plt.show()
希望它有所帮助。
答案 1 :(得分:0)
您可以尝试使用seaborn对图,并传递特定的x和y变量。
import seaborn as sns
sns.pairplot(df, y_vars="A", x_vars=df.columns.values)