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)
现在我想在相应的条形图中使用平台名称绘制水平条形图,使其看起来像这样:
我怎么做?
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)
| 归档时间: |
|
| 查看次数: |
4166 次 |
| 最近记录: |