Adding labels in x y scatter plot with seaborn

前端 未结 3 626
孤独总比滥情好
孤独总比滥情好 2020-11-30 07:36

I\'ve spent hours on trying to do what I thought was a simple task, which is to add labels onto an XY plot while using seaborn.

Here\'s my code

impor         


        
3条回答
  •  没有蜡笔的小新
    2020-11-30 08:13

    One way you can do this is as follows:

    import seaborn as sns
    import matplotlib.pyplot as plt
    import pandas as pd
    %matplotlib inline
    
    df_iris=sns.load_dataset("iris") 
    
    ax = sns.lmplot('sepal_length', # Horizontal axis
               'sepal_width', # Vertical axis
               data=df_iris, # Data source
               fit_reg=False, # Don't fix a regression line
               size = 10,
               aspect =2 ) # size and dimension
    
    plt.title('Example Plot')
    # Set x-axis label
    plt.xlabel('Sepal Length')
    # Set y-axis label
    plt.ylabel('Sepal Width')
    
    
    def label_point(x, y, val, ax):
        a = pd.concat({'x': x, 'y': y, 'val': val}, axis=1)
        for i, point in a.iterrows():
            ax.text(point['x']+.02, point['y'], str(point['val']))
    
    label_point(df_iris.sepal_length, df_iris.sepal_width, df_iris.species, plt.gca())  
    

提交回复
热议问题