Bird
Raised Fist0
Pandasdata~30 mins

Plot customization (title, labels, figsize) in Pandas - Mini Project: Build & Apply

Choose your learning style10 modes available
Plot customization (title, labels, figsize)
📖 Scenario: You are working with sales data for a small store. You want to create a clear and nice-looking bar chart to show the sales of different products.
🎯 Goal: Create a bar plot using pandas and customize it by adding a title, axis labels, and setting the figure size to make the chart easy to understand and visually appealing.
📋 What You'll Learn
Create a pandas DataFrame with product names and sales numbers.
Set a variable for figure size as a tuple.
Use the DataFrame's plot method to create a bar chart with the specified figure size.
Add a title and labels for the x-axis and y-axis.
Print the plot to display the customized chart.
💡 Why This Matters
🌍 Real World
Customizing plots helps make data charts clear and easy to understand for reports or presentations.
💼 Career
Data scientists and analysts often create visualizations with titles and labels to communicate insights effectively.
Progress0 / 4 steps
1
Create the sales data DataFrame
Create a pandas DataFrame called sales_data with two columns: 'Product' and 'Sales'. Use these exact values: 'Apples', 'Bananas', 'Cherries', 'Dates' for products and 30, 45, 15, 10 for sales.
Pandas
Hint

Use pd.DataFrame with a dictionary where keys are column names and values are lists of data.

2
Set the figure size for the plot
Create a variable called fig_size and set it to the tuple (8, 5) to define the width and height of the plot in inches.
Pandas
Hint

Use parentheses to create a tuple for figure size, like (width, height).

3
Create the bar plot with customization
Use sales_data.plot.bar() to create a bar chart. Set x='Product', y='Sales', and figsize=fig_size. Then add a title 'Sales by Product', x-axis label 'Product', and y-axis label 'Number of Sales' using the plot's set_title, set_xlabel, and set_ylabel methods.
Pandas
Hint

Assign the plot to a variable, then use set_title, set_xlabel, and set_ylabel to add text.

4
Display the customized plot
Write a print() statement to display the plot object.
Pandas
Hint

Use print(plot) to show the plot object in the output.

Practice

(1/5)
1. What does the figsize parameter control when creating a plot with pandas?
easy
A. The type of plot (line, bar, scatter).
B. The color of the plot background.
C. The font size of the plot title.
D. The size of the plot figure in inches (width, height).

Solution

  1. Step 1: Understand the role of figsize

    The figsize parameter sets the width and height of the plot in inches.
  2. Step 2: Differentiate from other parameters

    Color, font size, and plot type are controlled by other parameters, not figsize.
  3. Final Answer:

    The size of the plot figure in inches (width, height). -> Option D
  4. Quick Check:

    Figsize = plot size in inches [OK]
Hint: Figsize sets plot width and height in inches [OK]
Common Mistakes:
  • Confusing figsize with color or font size
  • Thinking figsize changes plot type
  • Using figsize as a string instead of tuple
2. Which of the following is the correct way to set the plot title and axis labels in pandas?
easy
A. df.plot().set_title('Sales').set_xlabel('Month').set_ylabel('Revenue')
B. df.plot().set(title='Sales', xlabel='Month', ylabel='Revenue')
C. df.plot(title='Sales', x_label='Month', y_label='Revenue')
D. df.plot().title('Sales').xlabel('Month').ylabel('Revenue')

Solution

  1. Step 1: Recall pandas plot method chaining

    After plotting, you can chain set_title(), set_xlabel(), and set_ylabel() to set title and labels.
  2. Step 2: Check syntax correctness

    df.plot().set_title('Sales').set_xlabel('Month').set_ylabel('Revenue') uses correct method names and chaining syntax. df.plot(title='Sales', x_label='Month', y_label='Revenue') tries to pass labels directly to plot() which is invalid. df.plot().set(title='Sales', xlabel='Month', ylabel='Revenue') uses set() with wrong keys. df.plot().title('Sales').xlabel('Month').ylabel('Revenue') uses non-existent methods.
  3. Final Answer:

    df.plot().set_title('Sales').set_xlabel('Month').set_ylabel('Revenue') -> Option A
  4. Quick Check:

    Use set_title, set_xlabel, set_ylabel methods [OK]
Hint: Use set_title, set_xlabel, set_ylabel after plot() [OK]
Common Mistakes:
  • Passing title or labels directly to plot()
  • Using wrong method names like title() instead of set_title()
  • Trying to set labels with set() method
3. Given the code below, what will be the size of the plot figure?
import pandas as pd
import matplotlib.pyplot as plt

data = {'A': [1, 3, 2, 4]}
df = pd.DataFrame(data)

ax = df.plot(figsize=(8, 4))
plt.show()
medium
A. 8 inches wide and 4 inches tall
B. 4 inches wide and 8 inches tall
C. Default size because figsize is ignored
D. 8 pixels wide and 4 pixels tall

Solution

  1. Step 1: Understand figsize parameter

    The figsize argument takes a tuple (width, height) in inches.
  2. Step 2: Check the given tuple

    The tuple is (8, 4), so width is 8 inches and height is 4 inches.
  3. Final Answer:

    8 inches wide and 4 inches tall -> Option A
  4. Quick Check:

    Figsize=(8,4) means width=8, height=4 inches [OK]
Hint: Figsize tuple is (width, height) in inches [OK]
Common Mistakes:
  • Swapping width and height values
  • Thinking figsize uses pixels
  • Assuming figsize is ignored by pandas
4. Identify the error in the following code that tries to set the plot title and labels:
import pandas as pd
data = {'x': [1, 2, 3], 'y': [4, 5, 6]}
df = pd.DataFrame(data)
plot = df.plot()
plot.title('My Plot')
plot.xlabel('X-axis')
plot.ylabel('Y-axis')
medium
A. DataFrame is missing a column for labels.
B. Methods title(), xlabel(), ylabel() do not exist for the plot object.
C. Plotting requires plt.show() to display labels.
D. The DataFrame columns must be strings to set labels.

Solution

  1. Step 1: Check method names on plot object

    The plot object returned by pandas uses set_title(), set_xlabel(), and set_ylabel() methods, not title(), xlabel(), or ylabel().
  2. Step 2: Identify the error

    Calling plot.title() causes an AttributeError because the method does not exist.
  3. Final Answer:

    Methods title(), xlabel(), ylabel() do not exist for the plot object. -> Option B
  4. Quick Check:

    Use set_title, set_xlabel, set_ylabel methods [OK]
Hint: Use set_title, set_xlabel, set_ylabel methods [OK]
Common Mistakes:
  • Using title() instead of set_title()
  • Forgetting to call plt.show() (though not error here)
  • Assuming DataFrame columns affect label setting
5. You want to create a bar plot from a DataFrame df with columns 'Year' and 'Sales'. You want the plot to be 10 inches wide and 6 inches tall, with the title 'Annual Sales', x-axis label 'Year', and y-axis label 'Sales'. Which code snippet correctly achieves this?
hard
A. ax = df.plot.bar(x='Year', y='Sales') plt.title('Annual Sales') plt.xlabel('Year') plt.ylabel('Sales') plt.figure(figsize=(10,6))
B. df.plot.bar(x='Year', y='Sales', title='Annual Sales', x_label='Year', y_label='Sales', figsize=(10,6))
C. ax = df.plot.bar(x='Year', y='Sales', figsize=(10,6)) ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales')
D. df.plot.bar(x='Year', y='Sales') ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales') plt.figure(figsize=(10,6))

Solution

  1. Step 1: Set figure size correctly

    Figure size must be set in the plot.bar() call using figsize=(10,6). ax = df.plot.bar(x='Year', y='Sales', figsize=(10,6)) ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales') does this correctly.
  2. Step 2: Set title and axis labels on the Axes object

    ax = df.plot.bar(x='Year', y='Sales', figsize=(10,6)) ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales') uses ax.set_title(), ax.set_xlabel(), and ax.set_ylabel() which is the correct way to set labels after plotting.
  3. Step 3: Check other options

    df.plot.bar(x='Year', y='Sales', title='Annual Sales', x_label='Year', y_label='Sales', figsize=(10,6)) tries to pass title and labels directly to plot.bar(), which is not supported. ax = df.plot.bar(x='Year', y='Sales') plt.title('Annual Sales') plt.xlabel('Year') plt.ylabel('Sales') plt.figure(figsize=(10,6)) sets figure size after plotting, which has no effect. df.plot.bar(x='Year', y='Sales') ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales') plt.figure(figsize=(10,6)) uses ax without defining it and sets figure size after plotting, which is incorrect.
  4. Final Answer:

    ax = df.plot.bar(x='Year', y='Sales', figsize=(10,6)) ax.set_title('Annual Sales') ax.set_xlabel('Year') ax.set_ylabel('Sales') -> Option C
  5. Quick Check:

    Set figsize in plot call; use set_title and set_xlabel on Axes [OK]
Hint: Set figsize in plot call; use set_title and set_xlabel on Axes [OK]
Common Mistakes:
  • Passing title and labels directly to plot.bar()
  • Setting figure size after plotting
  • Using undefined Axes object
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard