matplotlib> 2.0.1
由于GitHub上有很多关于孵化的discussion,现在引入了一些变化,使孵化变得更加直观.
如果使用facecolor参数而不是color参数,问题中的示例现在可以按预期再次使用.
import matplotlib.pyplot as plt
plt.plot([0,1],[0,1],ls="--",c="b")
plt.fill_between([0,1],[0,1], facecolor="none", hatch="X", edgecolor="b", linewidth=0.0)
plt.show()
matplotlib 2.0.0
保留原帖,导致此问题:
在matplotlib 2.0.0中,您可以使用plt.style.use(‘classic’)来恢复旧样式.
##Classic!
import matplotlib.pyplot as plt
plt.style.use('classic')
plt.rcParams['hatch.color'] = 'b'
plt.plot([0,1],[0,1],ls="--",c="b")
plt.fill_between([0,1],[0,1], color="none", hatch="X", edgecolor="b", linewidth=0.0)
plt.show()
如果不设置旧样式,则不将颜色设置为none,而是将其设置为透明.
## New
import matplotlib.pyplot as plt
plt.rcParams['hatch.color'] = 'b'
plt.plot([0,1],[0,1],ls="--",c="b")
plt.fill_between([0,1],[0,1], hatch="X", linewidth=0.0, alpha=0.0)
plt.show()
两种方法都依赖于通过plt.rcParams [‘hatch.color’] =’b’设置阴影颜色.
不幸的是,目前还没有其他方法可以在matplotlib 2.0.0中设置填充颜色.
matplotlib page that explains the changes说
There is no API level control of the hatch color or linewidth.
在github上打开了一个issue on this topic,并且可以在即将发布的版本中添加API控件(确实是在2.0.1版本中完成的).