Python 散点图图例仅显示一个颜色为的变量-Pandas Seaborn

Python 散点图图例仅显示一个颜色为的变量-Pandas Seaborn,python,pandas,plot,scatter-plot,Python,Pandas,Plot,Scatter Plot,我正试图用seaborn软件包在pandas中绘制scatter图。我希望我的两个变量都显示在图例中,但我只得到一个。以下是我做的一件事: import pandas as pd import numpy as np from matplotlib import pyplot as plt import seaborn as sns df = pd.DataFrame(np.random.randn(100, 6), columns=['a', 'b', 'c', 'd', 'e', 'f'

我正试图用
seaborn
软件包在
pandas
中绘制
scatter
图。我希望我的两个变量都显示在图例中,但我只得到一个。以下是我做的一件事:

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
import seaborn as sns 

df = pd.DataFrame(np.random.randn(100, 6), columns=['a', 'b', 'c', 'd', 'e', 'f'])
我是这样策划的,

plt.scatter(df['a'],df['b'], color = ['red', 'blue'])
plt.legend(loc = 'best')
plt.show()
我得到了这样的图像,


如您所见,我没有看到蓝色的
列/对象。我在这里犯了什么错误?我查过了,还没找到。如有任何建议,将不胜感激。

更新:

plt.scatter(df.index, df.a, color='red')
plt.scatter(df.index, df.b, color='blue')
plt.legend(loc = 'best')
结果:


我想你是糊涂了

演示:

假设DF中只有三行:

In [53]: df = pd.DataFrame({'x':[1,2,3], 'y':[5,6,7]})

In [55]: df
Out[55]:
   x  y
0  1  5
1  2  6
2  3  7
您正在尝试绘制以下三个点-您希望看到什么样的传奇

In [54]: plt.scatter(df.x, df.y, color=['red','blue'])
Out[54]: <matplotlib.collections.PathCollection at 0x149f9f28>

In [56]: plt.legend(loc = 'best')
Out[56]: <matplotlib.legend.Legend at 0x1353ca20>
[54]中的
plt.scatter(df.x,df.y,color=['red','blue'])
出[54]:
在[56]中:plt.图例(loc='best')
出[56]:

您正在用
(x,y)
坐标绘制点,其中
x=df['a']
y=df['b']
-这就是您想要的吗?@MaxU是的,这就是我想要的。我希望图例以蓝色显示
a
,以红色显示
b
,反之亦然,x坐标是a,y坐标是b,所以您的图例是正确的。@mauve,是的,正确,但在我的图例中它应该同时显示颜色和坐标,不是吗?@I.n.n.m,我不明白-您有一组点
(x,y)
坐标,因此图例是正确的。。。它们的颜色如下:
红色
,“蓝色”,
红色
,…感谢您的澄清,更新就是我要找的。@I.n.n.m,很高兴我能帮上忙:)