如何在条形图的条形图内显示值?

use*_*696 2 python matplotlib pandas

我有这样的数据帧:

                 platform     count
release_year        
         1996    PlayStation   138
         1997    PlayStation   170
         1998    PlayStation   155
         1999    PC            243...
Run Code Online (Sandbox Code Playgroud)

现在我想在相应的条形图中使用平台名称绘制水平条形图,使其看起来像这样:

在此输入图像描述

我怎么做?

Dav*_*mes 9

data.csv一旦找到每个平台的百分比,这是输入文件:

Platform,Percent
Nintendo,34
PC,16
Playstation,28
Xbox,22
Run Code Online (Sandbox Code Playgroud)

这是代码:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("data.csv", index_col=0)
df.plot(kind="barh", legend=False, width=0.8)
for i, (p, pr) in enumerate(zip(df.index, df["Percent"])):
    plt.text(s=p, x=1, y=i, color="w", verticalalignment="center", size=18)
    plt.text(s=str(pr)+"%", x=pr-5, y=i, color="w",
             verticalalignment="center", horizontalalignment="left", size=18)
plt.axis("off")
# xticks & yticks have empty lists to reduce white space in plot
plt.xticks([])
plt.yticks([])
plt.tight_layout()
plt.savefig("data.png")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述