绘制 pandas DataFrame 中的数据,点的颜色取决于列

Teo*_*off 6 python data-visualization matplotlib pandas

我有一个包含 3 列的 pandas DataFrame,如下所示。

col1 value flag 1 0 0 2 0.03915 0 3 0.13 1

我想从这个数据帧创建一个散点图,其中col1是 x 轴,value是 y 轴,我正在努力做的部分是,对于具有flag=0我希望该点的颜色为蓝色的行,类似地,如果flag=1我想要将点染成红色。

是否有一个简单的方法可以检查每行的标志列并相应地为点着色?

Dan*_*enz 5

您可以使用内置df.plot.scatter()函数并将flag列传递给color参数:

import pandas as pd

idx = [1,2,3]
value = [0., 0.03, 0.13]
flag = [0, 0, 1]

df = pd.DataFrame(dict(idx=idx, value=value, flag=flag))

df.plot.scatter('idx', 'value', c='flag', cmap='RdBu_r')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述