尝试使用matplotlib为我的柱状图添加y值。
在这个问题中,目标是在使用matplotlib绘制的条形图中添加y值。然而,在给定的代码中,并没有明确的步骤来添加y值。
要解决这个问题,可以通过在循环中使用plt.text()函数来手动添加y值。在给定的代码中,已经使用了plt.text()来添加x值(即平台名称)和百分比值。所以,我们只需要在循环的每次迭代中添加一个额外的plt.text()函数来添加y值。
下面是修改后的代码,可以实现在条形图上添加y值:
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.text(s=str(i+1), x=-2, y=i, color="w", verticalalignment="center", horizontalalignment="right", size=18) plt.axis("off") plt.xticks([]) plt.yticks([]) plt.tight_layout() plt.savefig("data.png")
在修改后的代码中,我们添加了一个新的plt.text()函数来添加y值。这个函数在循环的每次迭代中被调用,通过将i值加1作为y值来实现。
运行修改后的代码后,将会生成一个包含y值的条形图。