首页 > 解决方案 > 文本位置在图表上自动更改

问题描述

我有一个函数可以根据数据框中的值生成图形。代码如下所示:

def generate_graph(data, title):

    df1 = data['User'].value_counts(sort=False).to_frame()
    plt.figure(figsize=(24, 12))

    graph = sns.barplot(x=df1.index,y=df1.User)
    graph.set_ylabel('ABC ',fontsize=25)
   
    i = 0 
    for p in graph.patches:
        height = p.get_height()
       
        graph.text(p.get_x()+p.get_width()/2., height - 0.1, df1['User'][i], ha="center", fontsize=15)
    

现在,我为多个数据帧调用此函数:

generate_graph(dataframe1, 'dataframe1')
generate_graph(dataframe2, 'dataframe2')

当我两次调用该函数时,图形上文本的位置每次都不同。请看图片。

在此处输入图像描述

第二次通话后:

在此处输入图像描述

谁能建议我一种方法来避免文本位置的这种变化。

标签: pythonpandasmatplotlibseaborn

解决方案


推荐阅读