Seaborn(Python for data science)

BATHULA PRAVEEN (BP)
0

 Statistical Data Visualization With Seaborn

The Python visualization library Seaborn is based on matplotlib and provides a high-level interface for drawing attractive statistical graphics.

Make use of the following aliases to import the libraries:

>>> import matplotlib.pyplot as plt

>>> import seaborn as sns

The basic steps to creating plots with Seaborn are:

  1. Prepare some data

  2. Control figure aesthetics

  3. Plot with Seaborn

 4. Further customize your plot



1) Data

 >>> import pandas as pd

>>> import numpy as np

 >>> uniform_data = np.random.rand(10, 12)

>>> data = pd.DataFrame({'x':np.arange(1,101),

                                                'y':np.random.normal(0,4,100)})

Seaborn also offers built-in data sets:

>>> titanic = sns.load_dataset("titanic")

 >>> iris = sns.load_dataset("iris")

2) Figure Aesthetics

  >>> f, ax = plt.subplots(figsize=(5,6)) Create a figure and one subplot

Seaborn styles

>>> sns.set() (Re)set the seaborn default

 >>> sns.set_style("whitegrid") Set the matplotlib parameters

>>> sns.set_style("ticks", Set the matplotlib parameters

                               {"xtick.major.size":8,

                                "ytick.major.size":8})

 >>> sns.axes_style("whitegrid") Return a dict of params or use with with to temporarily set the style

              Context Functions

            >>> sns.set_context("talk") Set context to "talk"

            >>> sns.set_context("notebook", Set context to "notebook",

                                                  font_scale=1.5, Scale font elements and

                                                  rc={"lines.linewidth":2.5}) override param

          mapping

          Color Palette

          >>> sns.set_palette("husl",3) Define the color palette

          >>> sns.color_palette("husl") Use with with to temporarily set palette

          >>> flatui=["#9b59b6","#3498db","#95a5a6","#e74c3c","#34495e","#2ecc71"]

        >>> sns.set_palette(flatui) Set your own color palette

3)Plotting With Seaborn

       Axis Grids

        >>> g = sns.FacetGrid(titanic, Subplot grid for plotting conditional relationships

                                              col="survived", 

                                             row="sex")

 >>> g = g.map(plt.hist,"age")

 >>> sns.factorplot(x="pclass", Draw a categorical plot onto a Facetgrid

                                   y="survived", 

                                   hue="sex",

                                   data=titanic)

>>> sns.lmplot(x="sepal_width", Plot data and regression model fits across a FacetGrid

                           y="sepal_length", 

                          hue="species",

                          data=iris)

Categorical Plots Scatterplot

>>> sns.stripplot(x="species", Scatterplot with one categorical variable

                               y="petal_length", categorical 

                               data=iris)

 >>> sns.swarmplot(x="species", Categorical scatterplot with non-overlapping points

                                    y="petal_length", 

                                    data=iris)

    Bar Chart

>>> sns.barplot(x="sex", Show point estimates and confidence intervals with scatterplot glyphs

                             y="survived", 

                            hue="class", 

                            data=titanic)

Count Plot

>>> sns.countplot(x="deck", Show count of observations

                                data=titanic,

                               palette="Greens_d")

 Point Plot

>>> sns.pointplot(x="class", Show point estimates and confidence intervals as rectangular bars

                                y="survived",

                               hue="sex", 

                             data=titanic,

                            palette={"male":"g",

                                           "female":"m"},

                             markers=["^","o"],

                            linestyles=["-","--"])

  Boxplot

>>> sns.boxplot(x="alive", Boxplot

                             y="age",

                         hue="adult_male",

                        data=titanic)

>>> sns.boxplot(data=iris,orient="h") Boxplot with wide-form data Violinplot

>>> sns.violinplot(x="age", Violin plot

                                 y="sex",

                              hue="survived",

                                data=titanic)

>>> h = sns.PairGrid(iris) Subplot grid for plotting pairwise

>>> h = h.map(plt.scatter) relationships

 >>> sns.pairplot(iris) Plot pairwise bivariate distributions

>>> i = sns.JointGrid(x="x", Grid for bivariate plot with marginal

                                     y="y", univariate plots

                                    data=data)

 >>> i = i.plot(sns.regplot,

                          sns.distplot)

 >>> sns.jointplot("sepal_length", Plot bivariate distribution

                                "sepal_width",

                                   data=iris,

                                   kind='kde')

Regression Plots

>>> sns.regplot(x="sepal_width", Plot data and a linear regression

                             y="sepal_length", model fit

                            data=iris,

                             ax=ax)

Distribution Plots

>>> plot = sns.distplot(data.y, Plot univariate distribution

                                        kde=False,

                                         color="b")

Matrix Plots

>>> sns.heatmap(uniform_data,vmin=0,vmax=1) Heatmap

4) Further Customizations

Axisgrid Objects

>>> g.despine(left=True) Remove left spine

 >>> g.set_ylabels("Survived") Set the labels of the y-axis

>>> g.set_xticklabels(rotation=45) Set the tick labels for x

 >>> g.set_axis_labels("Survived", Set the axis labels

                                             "Sex")

>>> h.set(xlim=(0,5), Set the limit and ticks of the

                  ylim=(0,5),

                  x-and y-axis

                   xticks=[0,2.5,5],

                   yticks=[0,2.5,5])

Plot

>>> plt.title("A Title") Add plot title

>>> plt.ylabel("Survived") Adjust the label of the y-axis

>>> plt.xlabel("Sex") Adjust the label of the x-axis

 >>> plt.ylim(0,100) Adjust the limits of the y-axis

 >>> plt.xlim(0,10) Adjust the limits of the x-axis

>>> plt.setp(ax,yticks=[0,5]) Adjust a plot property

>>> plt.tight_layout() Adjust subplot params

5) Show or Save Plot

>>> plt.show() Show the plot

>>> plt.savefig("foo.png") Save the plot as a figure

>>> plt.savefig("foo.png", Save transparent figure

                            transparent=True)

Close & Clear

>>> plt.cla() Clear an axis

>>> plt.clf() Clear an entire figure

 >>> plt.close() Close a window


Post a Comment

0Comments

Post a Comment (0)