【发布时间】:2020-08-25 13:58:21
【问题描述】:
我正在尝试在两个特定条之间插入间距,但找不到任何简单的方法来做到这一点。我可以手动添加一个高度为 0 的虚拟行来创建和留空空间,但不能让我控制空间的宽度。有没有更程序化的方法可以用来控制任意位置的条之间的间距?
示例代码:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
mydict = {
'Event': ['Running', 'Swimming', 'Biking', '', 'Hiking', 'Jogging'],
'Completed': [2, 4, 3, 0, 7, 9],
'Participants': [10, 20, 35, 0, 10, 20]}
df = pd.DataFrame(mydict).set_index('Event')
df = df.assign(Completion=(df.Completed / df.Participants) * 100)
plt.subplots(figsize=(5, 4))
print(df.index)
ax = sns.barplot(x=df.Completion, y=df.index, color="orange", orient='h')
plt.xticks(rotation=60)
plt.tight_layout()
plt.show()
DataFrame 输出示例:
Completed Participants Completion
Event
Running 2 10 20.000000
Swimming 4 20 20.000000
Biking 3 35 8.571429
0 0 NaN
Hiking 7 10 70.000000
Jogging 9 20 45.000000
示例输出(在代码外部添加蓝色箭头以显示添加空行的位置。):
【问题讨论】:
标签: python-3.x pandas matplotlib seaborn