Skip to main content
 首页 » 编程设计

python之文本与图表 Pandas 图重叠

2025年05月04日11arxive

我正在尝试绘制数据框:

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

这是它的样子: