提问者:小点点

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


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

例如,在包括所有房屋价格的散点图上,我想:

  • 红色表示所有价格点,当Dummy1表示房子在Area a1等于1时。
  • 蓝色表示所有价格点,当Dummy2表示房子在Area a2等于2时。

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


共1个答案

匿名用户

查看matplotlib. pyplot.scoter的文档,它描述了一个参数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()

输出将如下所示: