如何获得matplotlib.pyplot.scatter的默认蓝色?

时间:2017-11-02 11:41:22

标签: python matplotlib

如何获得matplotlib.pyplot.scatter中默认使用的蓝色阴影?在给出关键字参数c='b'时,它会给出更深的蓝色阴影。在matplotlib.pyplot.scatter 'b'中,它表示默认值应为import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.scatter(-1, 0) ax.text(-1, 0, 'Default blue') ax.scatter(1, 0, c='b') ax.text(1, 0, 'Darker blue') ax.set_xlim(-2, 2) ,但它看起来不同。

见下面的例子:

plt.plot()

documentation

我正在使用Python 3.5和Matplotlib 2.0.0。我问这个的原因是因为我想用v = df.val.values[:, None] * df.val.values v array([[ 4, 6, 10, 14], [ 6, 9, 15, 21], [10, 15, 25, 35], [14, 21, 35, 49]]) x = df.foo.values[:, None] + df.foo.values x array([['f1f1', 'f1f2', 'f1f3', 'f1f4'], ['f2f1', 'f2f2', 'f2f3', 'f2f4'], ['f3f1', 'f3f2', 'f3f3', 'f3f4'], ['f4f1', 'f4f2', 'f4f3', 'f4f4']], dtype=object) 一个一个地绘制一些点时使用相同的蓝色。

1 个答案:

答案 0 :(得分:12)

默认颜色周期在matplotlib版本2中已更改,如docs所示。

因此,要绘制“新”默认蓝色,您可以做两件事:

fig, ax = plt.subplots()

ax.scatter(-1, 1)
ax.text(-0.9, 1, 'Default blue')

ax.scatter(1, 1, c='#1f77b4')
ax.text(1.1, 1, 'Using hex value')

ax.scatter(0, 0.5, c='C0')
ax.text(0.1, 0.5, 'Using "C0" notation')

ax.set_xlim(-2, 3)
ax.set_ylim(-1,2)
plt.show()

给出了:

enter image description here

或者,您可以将颜色循环更改回原来的颜色:

import matplotlib as mpl
from cycler import cycler

mpl.rcParams['axes.prop_cycle'] = cycler(color='bgrcmyk')