如何在matplotlib中分离阴影和边缘颜色?

时间:2016-07-03 10:20:27

标签: python matplotlib

我想在matplotlib中绘制一个条形图,其中白色为填充颜色,红色为阴影颜色,黑色为边缘颜色。然而,看起来边缘颜色也改变了舱口的颜色。所以,我无法分离边缘和阴影的颜色。你有什么建议吗? 感谢。

2 个答案:

答案 0 :(得分:17)

绘制条形图两次:

import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse, Polygon

fig = plt.figure()
ax1 = fig.add_subplot(111)
# draw hatch
ax1.bar(range(1, 5), range(1, 5), color='none', edgecolor='red', hatch="/", lw=1., zorder = 0)
# draw edge
ax1.bar(range(1, 5), range(1, 5), color='none', edgecolor='k', zorder=1, lw=2.)

ax1.set_xticks([1.5, 2.5, 3.5, 4.5])
plt.show()

enter image description here

答案 1 :(得分:6)

在Matplotlib 2.0中,您现在可以使用rcParams configure the hatch colour directly

  

阴影图案中线条的颜色和宽度现在可由rcParams hatch.colorhatch.linewidth配置,默认值分别为黑色和1点......没有API级别控制填充颜​​色或线宽。

     

无论DPI如何,孵化模式现在都以一致的密度呈现。以前,高DPI数据将比默认数据更密集,而低DPI数字将更低密度。无法直接恢复此旧行为,但可以通过重复填充说明符来增加密度。