更改散点图中不同虚拟值的点的颜色

时间:2018-12-10 16:13:05

标签: python pandas matplotlib scatter-plot

在我的数据集中,我有一个Price列用于房价,还有5个虚拟列用于城市中的不同位置。我要做的是用不同的颜色在散点图上显示数据点。

例如,在一个包含所有房屋价格的散点图上,我想要:

  • dummy1表示Area1中的房屋等于1时,所有价格点均为红色。
  • dummy2表示房屋位于Area2等于2时,所有价格点均为蓝色。

,依此类推,直到最后一列。如何创建该图?我可以使用plt.scatter()创建没有颜色的散点图,但是不知道如何添加颜色代码。

1 个答案:

答案 0 :(得分:0)

看看matplotlib.pyplot.scatter的文档,其中描述了参数c,可以是

  

一系列长度为n的颜色规范。

这里是一个示例,该示例创建100个随机xy数据点。如果y的值超过5,则该点将为蓝色,否则为c列表中指定的红色。

import matplotlib.pyplot as plt
import random

x = list(range(100))
y = [random.randint(0, 10) for _ in range(len(x))]
c = ["b" if y > 5 else "r" for y in y]

plt.scatter(x, y, c=c)
plt.show()

输出将如下所示:

enter image description here