pythonmatplotlib

What is the necessity of plt.figure() in matplotlib?


plt.figure(figsize=(10,8))

plt.scatter(df['attacker_size'][df['year'] == 298],
        # attacker size in year 298 as the y axis
        df['defender_size'][df['year'] == 298],
        # the marker as
        marker='x',
        # the color
        color='b',
        # the alpha
        alpha=0.7,
        # with size
        s = 124,
        # labelled this
        label='Year 298')

In the above snippet of code collected from Scatterplot in Matplotlib, what is the necessity of plt.figure()?

link above ais dead , self sustaining example :

import matplotlib.pyplot as plt

import pandas as pd

data = {
  "attacker_size": [420, 380, 390],
  "defender_size": [50, 40, 45]
}

df = pd.DataFrame(data, index = ["day1", "day2", "day3"])

print(df) 

plt.figure(figsize=(10,8))

plt.scatter(df['attacker_size'],
        # attacker size in year 298 as the y axis
        df['defender_size'],
        # the marker as
        marker='x',
        # the color
        color='b',
        # the alpha
        alpha=0.7,
        # width size
        s = 150,
        # labelled this
        label='Test')

Solution

  • The purpose of using plt.figure() is to create a figure object.

    The whole figure is regarded as the figure object. It is necessary to explicitly use plt.figure() when we want to tweak the size of the figure and when we want to add multiple Axes objects in a single figure.

    # in order to modify the size
    fig = plt.figure(figsize=(12,8))
    # adding multiple Axes objects  
    fig, ax_lst = plt.subplots(2, 2)  # a figure with a 2x2 grid of Axes
    

    Parts of a Figure