python打开是什么颜色-python – 手动设置点的颜色在图例

我正在制作一个如下的散点图:

(MWE在问题的底部)

从上图中可以看出,图例中的点的颜色由matplotlib自动设置为蓝色.我需要将这些点设置为色彩中不存在的其他颜色(即:黑色),因此它们不会产生与所述色彩映射关联的颜色的混淆.

我环顾四周,但是matplotlib.legend模块似乎没有接受颜色关键字.有没有办法做到这一点?

这是MWE:

import matplotlib.pyplot as plt

import numpy as np

def rand_data():

return np.random.uniform(low=0., high=1., size=(100,))

# Generate data.

x, y, x2, x3 = [rand_data() for i in range(4)]

# This data defines the markes and labels used.

x1 = np.random.random_integers(7, 9, size=(100,))

# Order all lists so smaller points are on top.

order = np.argsort(-np.array(x2))

# Order x and y.

x_o, y_o = np.take(x, order), np.take(y, order)

# Order list related to markers and labels.

z1 = np.take(x1, order)

# Order list related to sizes.

z2 = np.take(x2, order)

# Order list related to colors.

z3 = np.take(x3, order)

plt.figure()

cm = plt.cm.get_cmap('RdYlBu')

# Scatter plot where each value in z1 has a different marker and label

# assigned.

mrk = {7: ('o', '7'), 8: ('s', '8'), 9: ('D', '9')}

for key, value in mrk.items():

s1 = (z1 == key)

plt.scatter(x_o[s1], y_o[s1], marker=value[0], label=value[1],

s=z2[s1] * 100., c=z3[s1], cmap=cm, lw=0.2)

# Plot colorbar

plt.colorbar()

# Plot legend.

plt.legend(loc="lower left", markerscale=0.7, scatterpoints=1, fontsize=10)

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值