Add data labels to Seaborn factor plot

前端 未结 3 1771
春和景丽
春和景丽 2020-12-28 10:28

I would like to add data labels to factor plots generated by Seaborn. Here is an example:

import pandas as pd
from pandas import Series, DataFrame
import nu         


        
3条回答
  •  無奈伤痛
    2020-12-28 11:02

    You could do it this way:

    import math
    # Set plotting style
    sns.set_style('whitegrid')
    
    # Rounding the integer to the next hundredth value plus an offset of 100
    def roundup(x):
        return 100 + int(math.ceil(x / 100.0)) * 100 
    
    df = pd.read_csv('train.csv')
    sns.factorplot('Sex', data=df, kind='count', alpha=0.7, size=4, aspect=1)
    
    # Get current axis on current figure
    ax = plt.gca()
    
    # ylim max value to be set
    y_max = df['Sex'].value_counts().max() 
    ax.set_ylim([0, roundup(y_max)])
    
    # Iterate through the list of axes' patches
    for p in ax.patches:
        ax.text(p.get_x() + p.get_width()/2., p.get_height(), '%d' % int(p.get_height()), 
                fontsize=12, color='red', ha='center', va='bottom')
    
    plt.show()
    

提交回复
热议问题