如何在散点图中添加基于颜色的图例[matplotlib]

时间:2017-12-29 09:55:16

标签: python matplotlib

我一直在尝试根据matplotlib中散点图中的颜色添加图例。我已经看过几个例子,但是他们假设每个图都有一个与之关联的标签,而且我没有弄清楚如何在没有“label”属性的情况下做到这一点并且只将它基于颜色。目前我有以下代码

plt.subplot(121)
plt.gca().set_title('Female')
survived = female_data[:,1]
pclass = female_data[:,2]
age = female_data[:,5]
label_color = ['r' if i==0 else 'b' for i in survived]
axes = plt.gca()
axes.get_xaxis().set_visible(False)
plt.scatter(age, pclass, color=label_color)

哪个呈现这样的东西,我想要红色和蓝色在图中有一个标签。任何的想法?

enter image description here

2 个答案:

答案 0 :(得分:2)

plot with legend

https://colab.research.google.com/notebook#fileId=1RtdwW8ztZbBUpd67RWffKRVt0ae0dNkr

import matplotlib.pyplot as plt
import numpy as np

ages = np.array([1, 2, 1, 3, 1, 2, 2, 1, 1, 2])
pclass = np.arange(10)
survived = np.array([
    True, True, True, False, False,
    False, True, False, True, False
])
plt.plot(
    pclass[survived], ages[survived], 'bo',
    pclass[~survived], ages[~survived], 'ro'
)
plt.legend(['survived', 'died'])

希望你能看到我的colab笔记本或图像。这是你想要的吗?我认为你不想scatter

答案 1 :(得分:0)

如果您以相同的顺序将值数组传递给图例,则可以在散点图中定义颜色。

label = [' 0',' else'] plt.legend(标签)