Search code examples
pythonpandasseabornvisualizationline-plot

Connect markers in lineplot seaborn


I have a dataset as:

road,rate
DP,95.78
TR,95.02
SP,86.02
HD,45
SP_HD, 86

and I use seaborn to visualize a line plot like this:

def line_plot_compression_rate():
    label_text = pd.read_csv("comp_rate.csv")
    plot = sns.lineplot(x="road", y="rate", hue="road", style="road",
                        markers=True, data=label_text)

    plt.show()


line_plot_compression_rate()

Produced result:

enter image description here How can I connect the markers with a line? Also, is it possible to enlarge the markers size?


Solution

  • This should do it:

    plot = sns.lineplot(x="road", y="rate", data=df, sort=False)
    sns.lineplot(x="road", y="rate", hue="road", style="road", hue_order=df.road,markers=True, data=df, ax=plot)
    plt.show()
    

    Figure:

    enter image description here

    And to change markers and line size:

    paper_rc = {'lines.linewidth': 3, 'lines.markersize': 10}                  
    sns.set_context("paper", rc = paper_rc) 
    
    plot = sns.lineplot(x="road", y="rate", data=df, sort=False)
    plot  = sns.lineplot(x="road", y="rate", hue="road", style="road",
                 hue_order=df.road,markers=True,sizes=600,
                 data=df, ax=plot)
    

    Figure:

    enter image description here