【发布时间】:2017-06-28 10:21:52
【问题描述】:
我想在matplotlib 中绘制一个条形图,填充颜色为白色,填充颜色为红色,边缘颜色为黑色。但是,看起来边缘颜色也会改变影线的颜色。所以,我无法分离边缘和阴影的颜色。你有什么建议吗?
谢谢。
【问题讨论】:
标签: python matplotlib
我想在matplotlib 中绘制一个条形图,填充颜色为白色,填充颜色为红色,边缘颜色为黑色。但是,看起来边缘颜色也会改变影线的颜色。所以,我无法分离边缘和阴影的颜色。你有什么建议吗?
谢谢。
【问题讨论】:
标签: python matplotlib
绘制条形图两次:
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()
【讨论】:
在 Matplotlib 2.0 中,您现在可以使用 rcParams configure the hatch colour directly。
填充图案中线条的颜色和宽度现在可以通过 rcParams
hatch.color和hatch.linewidth进行配置,默认值分别为黑色和 1 点...没有 API 级别的填充颜色控制或线宽。无论 DPI 如何,阴影图案现在都以一致的密度呈现。以前,高 DPI 数字将比默认值更密集,而低 DPI 数字将不那么密集。这种旧的行为无法直接恢复,但可以通过重复填充说明符来增加密度。
【讨论】:
matplotlib 3.1.1 并且设置plt.rcParams['hatch.color'] 对我来说没有任何改变。虽然它适用于线宽
plt.rcParams['hatch.color'] 不起作用,因为另一个情节设置了边缘颜色。显然,这具有更高的优先级。