Python 用熊猫突出显示散点图中的最后一个数据点

Python 用熊猫突出显示散点图中的最后一个数据点,python,pandas,matplotlib,Python,Pandas,Matplotlib,如何在此散点图中突出显示以下数据帧的最后一个数据点?假设我想把它看作一个红点而不是蓝点 import pandas as pd import numpy as np import matplotlib.pyplot as plt dates = pd.date_range('20130101', periods=30) df = pd.DataFrame(np.random.randn(30,2) , columns=list('AB')) df.plot(kind='scatter', y

如何在此散点图中突出显示以下数据帧的最后一个数据点?假设我想把它看作一个红点而不是蓝点

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

dates = pd.date_range('20130101', periods=30)
df = pd.DataFrame(np.random.randn(30,2) , columns=list('AB'))
df.plot(kind='scatter', y = 'A', x = 'B')
plt.show()

很抱歉,我无法发布图表,因为还没有达到10个声誉点…

您可以使用
matplotlib
API以这种方式进行发布:

ax = plt.subplot()
color = ['b'] * (len(df) - 1) + ['r']
ax.scatter(df.A, df.B, color=color)
这将给出所有蓝色点,但最后一个是红色。阵列可以是任意长度,它将按顺序循环颜色,直到所有点都着色。因此,例如,要在红色和蓝色之间切换,您只需传递
['r','b']
。您可以输入颜色名称、缩写(如上)和颜色代码,如
“#eefff”
。有关更多信息,请查看颜色指南:
另一个方便的方法是
s
参数,它控制点的大小。这遵循相同的规则,因此每个点都可以根据值数组进行缩放

谢谢JoeCondron,但是当我运行它时,它显示了以下错误:ValueError:to_rgba:Invalid rgba arg“['b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','b','r']”rgba序列的长度应该是3或4抱歉,我刚刚更新了答案。与
matplotlib
相比,
pandas
API相当有限,所以当我想做任何想做的事情时,我倾向于走这条路线。现在工作非常完美!谢谢你的帮助。只需对你的答案进行最后一次迭代。刚刚意识到我甚至不需要定义以前的颜色(如果我喜欢默认的颜色)
color=['b']*(len(df)-1)+['r']
这就足够了:
ax=plt.subplot()
ax.scatter(df.ix[len(df)-1,'carry'],df.ix[len(df)-1,'vol'],color')
,这只会改变最后的数据点@乔克德龙