2015-08-31 72 views
2

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

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() 

对不起我不能发布图表作为仍然haven't达到了10点名誉......

回答

2

您可以使用matplotlib API做这种方式:

ax = plt.subplot() 
color = ['b'] * (len(df) - 1) + ['r'] 
ax.scatter(df.A, df.B, color=color) 

这会给所有的蓝色点,但最后,这将是红色的。该数组可以是任何长度,它将循环遍历颜色,直到所有点都被着色。所以,例如,在红色和蓝色之间交替,你可以通过['r', 'b']。您可以传递颜色名称,简写(如上所述)和颜色代码,如'#eeefff'。查看颜色指南了解更多信息:http://matplotlib.org/api/colors_api.html 另一个方便的事情是控制点的大小的s参数。这遵循相同的规则,因此每个点可以根据一组值进行缩放。

+2

感谢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','b','b','b','b','b','b','r']“ rgba序列的长度应该是3或4 – Gabriel

+0

道歉,我只是更新了答案。据我所知,'熊猫'API与'matplotlib'相比是相当有限的,所以当我想做任何事情时我都倾向于沿着这条路线前进。 – JoeCondron

+0

现在完美!谢谢您的帮助。 – Gabriel

相关问题