我正在尝试绘制数据框:
import pandas as pd
dict_object = {'Feats':['AAA_set_a_type_4', 'BBBB_set_B_type_5', 'CCCCC_set_c_Type_6'], 'importance':[3,4,5] }
df = pd.DataFrame(dict_object )
ax = df .plot( kind="barh")
ax.invert_yaxis()
for i, x in enumerate(df.Feats):
ax.text(0, i + .5, x, ha='left', fontsize='large')
然而,文本与条重叠。 我该如何解决?
另外,如何按降序对 eh 条进行排序?
谢谢
请您参考如下方法:
你可以稍微改变底部定位,从i + .5到i + .4,设置fontsize到medium,最后用 ascending=False 对 df 进行排序。
(所有文本属性的 Documentation)
这是更新后的代码:
import matplotlib.pyplot as plt
import pandas as pd
dict_object = {'Feats':['AAA_set_a_type_4', 'BBBB_set_B_type_5', 'CCCCC_set_c_Type_6'], 'importance':[3,4,5] }
df = pd.DataFrame(dict_object ).sort(ascending=False)
ax = df .plot( kind="barh")
ax.invert_yaxis()
for i, x in enumerate(df.Feats):
ax.text(0, i + .4, x, ha='left', fontsize='medium')
plt.show()
这是它的样子:
