我正在使用matplotlib.pyplot.bar()和绘制几个条形图和饼图matplotlib.pyplot.pie().在这两个功能中,我可以更改条形和楔形的颜色.
但是,我需要以黑白打印这些图表.能够在条形和楔形上放置纹理会更有用,类似于Line2D可用于绘制线条的标记属性.我可以用一致的方式用这些标记填充条形和楔形吗?或者还有其他方法来实现这样的目标吗?
如何将不同的阴影应用于我的数据,就像我可以将不同的颜色定义为元组一样?
#!/usr/bin/env python3
import pandas
from matplotlib import pyplot as plt
data = {"Label 1": [2,3,5,10], "Label 2": [1,2,4,8]}
pandas.DataFrame(data).plot.bar(color=("grey", "white"), hatch=("/", "*"))
plt.show()
Run Code Online (Sandbox Code Playgroud)
影线一起应用于所有条形。相反,我宁愿让每个数据集使用自己的阴影颜色组合。
我知道我可以像这样手动修改图中的每个补丁:
ax = pandas.DataFrame(data).plot.bar(color=("grey", "white"), legend=False)
for container, hatch in zip(ax.containers, ("/", "*")):
for patch in container.patches:
patch.set_hatch(hatch)
ax.legend(loc='upper center')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这有点hacky,但最好的解决方案,我通过这个讨论找到了。
将剖面线应用于组合图中的不同数据集的正确方法是什么?