# Python Data Visualization

## Python Tutorial

## Plotly

## Seaborn

**Trends**- A trend is defined as a pattern of change.`sns.lineplot`

-**Line charts**are best to show trends over a period of time, and multiple lines can be used to show trends in more than one group.

**Relationship**- There are many different chart types that you can use to understand relationships between variables in your data.`sns.barplot`

-**Bar charts**are useful for comparing quantities corresponding to different groups.`sns.heatmap`

-**Heatmaps**can be used to find color-coded patterns in tables of numbers.`sns.scatterplot`

-**Scatter plots**show the relationship between two continuous variables; if color-coded, we can also show the relationship with a third categorical variable.`sns.regplot`

- Including a**regression line**in the scatter plot makes it easier to see any linear relationship between two variables.`sns.lmplot`

- This command is useful for drawing multiple regression lines, if the scatter plot contains multiple, color-coded groups.`sns.swarmplot`

-**Categorical scatter**plots show the relationship between a continuous variable and a categorical variable.

**Distribution**- We visualize distributions to show the possible values that we can expect to see in a variable, along with how likely they are.`sns.distplot`

-**Histograms**show the distribution of a single numerical variable.`sns.kdeplot`

-**KDE plots**(or**2D KDE plots**) show an estimated, smooth distribution of a single numerical variable (or two numerical variables).`sns.jointplot`

- This command is useful for simultaneously displaying a 2D KDE plot with the corresponding KDE plots for each individual variable.

### Dependencies

1 | import pandas as pd |

### Line Charts

#### Line chart of whole df

1 | # Set the width and height of the figure |

#### Line chart of parts of df

1 | # Set the width and height of the figure |

### Bar Charts and Heatmaps

#### Bar chart

1 | # Set the width and height of the figure |

#### Heatmap

1 | # Set the width and height of the figure |

### Scatter Plots, Regression, and Categorical Scatter Plots

#### Scatter Plot

1 | sns.scatterplot(x=df['col1'], y=df['col2']) |

#### Regression Line + Scatter Plot

1 | sns.regplot(x=df['col1'], y=df['col2']) |

#### Group by color

1 | sns.scatterplot(x=df['col1'], y=df['col2'], hue=df['col3']) |

#### Regression Line per Group (hue)

1 | sns.lmplot(x="col1", y="col2", hue="col3", data=df) |

#### Categorical Scatter plot: `swarmplot`

1 | # x categorical data |

### Histograms and Density Plots

#### Histograms

`x=`

: chooses the column we’d like to plot.`kde=False`

: Whether to plot a gaussian kernel density estimate..

1 | sns.histplot(x=df['col'], kde=False) |

#### Density Plots (KDE)

`fill`

: If True, fill in the area under univariate density curves or between bivariate contours. If None, the default depends on`multiple`

.

1 | sns.kdeplot(x='col1', data=df, fill=True) |

#### 2D KDE Plots

Draw a plot of two variables with bivariate and univariate graphs.

- kind: kind : { “scatter” | “kde” | “hist” | “hex” | “reg” | “resid” }
- Kind of plot to draw. See the examples for references to the underlying functions.

1 | sns.jointplot(x='col1', y='col2', data=df, kind="kde") |

#### Color-coded plots (multiple histograms)

`label=`

is used to set the values in the legend.

1 | sns.distplot(a='col', data=df1, label='label1', kde=False) |

### Choosing Plot Types and Custom Styles

Seaborn has five different themes: (1)”`darkgrid`

“, (2)”`whitegrid`

“, (3)”`dark`

“, (4)”`white`

“, and (5)”`ticks`

“.

1 | # Change the style of the figure to the "dark" theme |