python - matplotlib:为条分配不同的阴影
问题描述
我有一个数据框,对于每个索引,我必须绘制两个条形图(两个系列)。以下代码给出的输出为:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.DataFrame(np.random.randint(0,20,size=(5, 2)), columns=list('AB'))
fig, ax = plt.subplots()
ax = df.sort_values('B', ascending=True).plot.barh(rot=0,ax=ax,hatch="/")
plt.show()
我想为每个条分配单独的孵化。所以如果A
有'/'孵化,B
应该有'|'。我需要在代码中进行哪些修改?
解决方案
您可以分别绘制两个条形图:
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
df = pd.DataFrame(np.random.randint(0, 20, size=(5, 2)), columns=list('AB'))
fig, ax = plt.subplots()
ax.barh(np.arange(0, len(df)), df['A'], height=0.3, hatch='/')
ax.barh(np.arange(0.3, len(df) + 0.3), df['B'], height=0.3, hatch='|')
推荐阅读
- angular - 使用变量作为属性名称(例如在角度路由器中)
- sql - 为什么正常 SELECT 和 SELECT INTO 的“受影响的行数”不同?
- sql - SQL 中的 YEAR() 如何正确使用 year()
- python - numpy.astype(np.uint8) 如何转换浮点数组?-1.2997805 变为 255
- c - 无法使用 fgets 和 scanf 函数输入单词
- c# - 提供的有效负载无法解密,因为它没有在 /connect/endsession/callback 上受到此保护提供程序的保护
- javascript - 如何将数组的值与产品和值相加并按升序排列?
- xml - 尝试使用 XSL 从 XML 中提取最后 2 个字符
- node.js - 如何使用 expresses NodeJs 在 S3 中编写 csv 文件
- json - Jenkins 更新后 readJSON 和 readYaml 停止在 Jenkins 中工作