如何获得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()
我正在使用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)
一个一个地绘制一些点时使用相同的蓝色。
答案 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()
给出了:
或者,您可以将颜色循环更改回原来的颜色:
import matplotlib as mpl
from cycler import cycler
mpl.rcParams['axes.prop_cycle'] = cycler(color='bgrcmyk')