· Visualisations · 3 min read

Scatter Plot Visualization Using Seaborn in Python

Introduction to Scatter Plots with Seaborn

Scatter plots are an essential data visualization tool for understanding the relationship between numerical variables by displaying their values as points on two axes. With Seaborn, a python library for plotting statistical graphics, creating scatter plots is easy and efficient, allowing users to analyze their data quickly.

Properties and Parameters of Scatter Plots in Seaborn

Seaborn uses the scatterplot() function for creating scatter plots. Some of the key parameters for this function include:

  • x: The data for the x-axis in your plot.
  • y: The data for the y-axis in your plot.
  • hue: A key to group the data by color, which can help distinguish different categories.
  • size: A key to change the size of the markers based on a numeric variable.
  • style: A key to group the data into differently shaped markers.
  • data: The input dataset, typically in the form of a pandas DataFrame.
  • palette: A tool to set the color of the plot. The default color palette is set to 'deep', but multiple palettes are available.

To further customize your scatter plot, additional parameters are available as well. To explore the complete list, check the official documentation: Seaborn scatter plot documentation.

Simplified Real-Life Example

Let’s create a simple scatter plot to visualize the relationship between the heights and weights of a group of people.

import seaborn as sns
import pandas as pd

# Creating sample data
data = {'Height': [165, 170, 175, 180, 185, 190],
        'Weight': [60, 68, 72, 76, 80, 85]}
df = pd.DataFrame(data)

# Creating a scatter plot using Seaborn
sns.scatterplot(x='Height', y='Weight', data=df)

This code generates a basic scatter plot, using the height data on the x-axis and weight data on the y-axis.

Complex Real-Life Example

Now let’s create a more complex scatter plot using the famous Iris dataset, available through seaborn’s built-in datasets. This dataset contains information about three species of Iris flowers and has four features: sepal length, sepal width, petal length, and petal width.

import seaborn as sns
import pandas as pd

# Load the Iris dataset
iris = sns.load_dataset('iris')

# Create a scatter plot using Seaborn
sns.scatterplot(x='petal_length', y='petal_width', hue='species', style='species', size='sepal_length', data=iris, palette='dark')

In this example, the scatter plot illustrates the relationship between petal length and petal width. Each species is represented by a different color and marker shape. Additionally, the size of the marker represents sepal length, allowing for further insight into the dataset.

Personal Tips

  1. Choose appropriate axis labels: When crafting your scatter plots, make sure to label your axes clearly and informatively. This will make your visualization more accessible to others.
  2. Select contrasting colors: When using the hue parameter, choose a palette that provides enough color contrast to easily differentiate between the different categories.
  3. Maintain simplicity: Avoid overcrowding the plot with too many markers, as it can be challenging to understand. If you have a considerable amount of data, consider using transparency with the alpha parameter to improve the readability of your visualization.
  4. Utilize other Seaborn functions: Seaborn offers several additional functions that can be combined with scatter plots to provide more information, such as relplot(), which allows for the creation of multiple scatter plots in a grid format.
  5. Experiment with customization options: Seaborn provides numerous customization options beyond the primary parameters. Play with different marker styles, color palettes, and font sizes to create a visualization that’s compelling and informative.