与图表熊猫情节重叠的文字

时间:2016-04-11 09:54:17

标签: python pandas

我正在尝试绘制数据框:

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条进行排序?

由于

2 个答案:

答案 0 :(得分:0)

您可以稍微更改底部定位,从i + .5i + .4,将fontsize设置为medium,最后使用{{df排序ascending=False 1}}。

(所有文字属性的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()

这就是它的样子:

enter image description here

答案 1 :(得分:-1)

不确定标签是如何重叠的。我得到这个情节: enter image description here

如果要排序,只需使用sort_values(by)函数:

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()

df.sort_values("importance")

for i, x in enumerate(df.Feats):
    ax.text(0, i + .5, x, ha='left', fontsize='large')
相关问题