如果你想在当前运行时(例如当前的Jupyter内核)中为所有直方图显示黑色边缘颜色,你可以使用
rcParams
来实现。由于直方图实际上是在底层使用条形图(调用
.bar
),而条形图又会在Axes上添加Rectangle patches,所以要设置为True的关键是
'patch.force_edgecolor'
。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['patch.force_edgecolor'] = True
gaussian_numbers = np.random.default_rng(0).normal(0, 1, 1000)
plt.hist(gaussian_numbers);
![img](https://istack.dev59.com/CF1BX.webp)
相关的是,尽管
edgecolor
、
linewidth
、
alpha
等在
.hist
参数中没有列出,但它们可以在
矩形属性中找到(因为这些参数会改变条形的绘制方式)。这一点尤其有用,特别是当你使用其他使用matplotlib绘制直方图的库,如pandas、seaborn等。然后将补丁参数传递给改变facecolor、alpha、edgecolor等。
s = pd.Series(gaussian_numbers)
s.plot.hist(ec='k', alpha=0.5, fc='r')
在相反的方向上,如果你不想显示条形图的轮廓,可以传递
ec='none'
。
plt.hist(gaussian_numbers, ec='none');
无论rcParams设置如何,这都不会绘制边缘颜色。
edgecolor = "k"
确实可以将线条带回来。 - ImportanceOfBeingErnest