hist和axvline不遵循颜色循环/ matplotlib样式

时间:2018-07-06 08:59:21

标签: python matplotlib

我正在尝试绘制分布,这意味着:

import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')

numbers = np.random.rand(100)
fig, ax = plt.subplots()
ax.hist(numbers)
ax.axvline(numbers.mean())

,它将在红色分布上方绘制一条红线。重要的是,我想使用我的配色方案(gglot)中的颜色,因此,我不想手动选择颜色,甚至不想选择颜色周期。

Recently,我了解到,如果我想“强制”颜色循环仪使用下一种颜色,我可以做到

next(ax._get_lines.prop_cycler)

但是,在hist和axvline之间添加该行无济于事。我如何“强迫” histaxvline跟随我风格的色彩?

1 个答案:

答案 0 :(得分:1)

您需要使用

获取循环中的下一个颜色
next(ax._get_lines.prop_cycler)['color']

然后,您需要在color=的{​​{1}}参数中显式使用它:

axvline

哪个给:

enter image description here