Bird
Raised Fist0
Pandasdata~5 mins

Line plots with plot() in Pandas

Choose your learning style10 modes available
Introduction

Line plots help us see how data changes over time or order. They make trends easy to spot.

Tracking daily temperatures over a week.
Showing sales growth month by month.
Comparing stock prices over several days.
Visualizing how a student's grades change each semester.
Syntax
Pandas
DataFrame.plot(kind='line', x=None, y=None, title=None)

kind='line' tells pandas to make a line plot (default).

x and y specify which columns to use for the horizontal and vertical axes.

Examples
Plot all numeric columns as lines using the DataFrame index for x-axis.
Pandas
df.plot()
Plot 'Sales' values over 'Month' values as a line.
Pandas
df.plot(x='Month', y='Sales')
Plot multiple columns 'Sales' and 'Profit' as separate lines.
Pandas
df.plot(kind='line', y=['Sales', 'Profit'])
Sample Program

This code creates a small table of sales data by month. Then it draws a line plot showing sales for each month. Markers highlight each data point.

Pandas
import pandas as pd
import matplotlib.pyplot as plt

# Create sample data
sales_data = {
    'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
    'Sales': [200, 220, 250, 270, 300],
    'Profit': [50, 55, 60, 65, 70]
}
df = pd.DataFrame(sales_data)

# Plot Sales over Month
ax = df.plot(x='Month', y='Sales', title='Monthly Sales', marker='o')
plt.ylabel('Sales')
plt.show()
OutputSuccess
Important Notes

If you don't specify x, pandas uses the DataFrame index for the horizontal axis.

You can add markers to points with marker='o' to see exact values.

Use plt.show() to display the plot when running in scripts.

Summary

Line plots show how data changes over an ordered axis like time.

Use df.plot(x=..., y=...) to pick which columns to plot.

Markers and titles make plots easier to understand.

Practice

(1/5)
1. What does the plot() function in pandas primarily create?
easy
A. A list of column names
B. A table of data values
C. A summary statistics report
D. A line plot to show data trends over an axis

Solution

  1. Step 1: Understand the purpose of plot() in pandas

    The plot() function is used to create visual graphs from data, most commonly line plots.
  2. Step 2: Identify the type of plot created

    By default, DataFrame.plot() creates a line plot to show how data changes over an ordered axis like time.
  3. Final Answer:

    A line plot to show data trends over an axis -> Option D
  4. Quick Check:

    plot() = line plot [OK]
Hint: plot() makes line plots by default to show trends [OK]
Common Mistakes:
  • Thinking plot() creates tables
  • Confusing plot() with summary functions
  • Assuming plot() lists columns
2. Which of the following is the correct syntax to plot the column 'Sales' from a DataFrame df using the y parameter?
easy
A. df.plot('Sales')
B. df.plot(y='Sales')
C. df.plot(column='Sales')
D. df.plot(x='Sales')

Solution

  1. Step 1: Recall the parameter to select columns in plot()

    The y parameter specifies which column(s) to plot on the y-axis.
  2. Step 2: Match the correct syntax

    Using df.plot(y='Sales') correctly tells pandas to plot the 'Sales' column as the y-axis data.
  3. Final Answer:

    df.plot(y='Sales') -> Option B
  4. Quick Check:

    Use y='column' to plot that column [OK]
Hint: Use y='column' to plot that column in plot() [OK]
Common Mistakes:
  • Using 'column' instead of 'y' parameter
  • Passing column name without parameter
  • Using x='Sales' to plot y-axis
3. Given the code:
import pandas as pd
import matplotlib.pyplot as plt

data = {'Month': ['Jan', 'Feb', 'Mar'], 'Sales': [100, 150, 120]}
df = pd.DataFrame(data)
df.plot(x='Month', y='Sales')
plt.show()

What will the plot show?
medium
A. A scatter plot of sales vs months
B. A bar plot with sales on x-axis and months on y-axis
C. A line plot with months on x-axis and sales on y-axis
D. An error because 'Month' is not numeric

Solution

  1. Step 1: Understand the plot parameters

    The code uses x='Month' and y='Sales' to plot sales against months.
  2. Step 2: Recognize default plot type

    By default, plot() creates a line plot, even if x-axis is categorical like months.
  3. Final Answer:

    A line plot with months on x-axis and sales on y-axis -> Option C
  4. Quick Check:

    plot(x=cat, y=num) = line plot [OK]
Hint: plot() defaults to line plot even with categorical x-axis [OK]
Common Mistakes:
  • Expecting bar or scatter plot by default
  • Thinking non-numeric x causes error
  • Confusing axis labels
4. What is wrong with this code snippet?
df = pd.DataFrame({'A': [1, 2, 3]})
df.plot('A')
medium
A. It will plot column 'A' on y-axis but x-axis will be default index
B. It will cause a syntax error because 'y' parameter is missing
C. It will raise a runtime error because 'A' is not specified as y
D. It will plot column 'A' on x-axis instead of y-axis

Solution

  1. Step 1: Analyze the plot() call with one positional string argument

    When a string is passed positionally to plot(), it specifies the column for the y-axis.
  2. Step 2: Understand default x-axis behavior

    Since no x parameter is specified, the x-axis uses the DataFrame's index.
  3. Final Answer:

    It will plot column 'A' on y-axis but x-axis will be default index -> Option A
  4. Quick Check:

    plot('A') = y='A' vs index [OK]
Hint: plot('col') sets y='col' vs index; specify x/y to control [OK]
Common Mistakes:
  • Assuming 'A' is x-axis without specifying
  • Expecting syntax or runtime error
  • Confusing x and y parameters
5. You have a DataFrame df with columns 'Date', 'Temperature', and 'Humidity'. You want to plot both 'Temperature' and 'Humidity' over 'Date' on the same line plot with a title 'Weather Data'. Which code correctly does this?
hard
A. df.plot(x='Date', y=['Temperature', 'Humidity'], title='Weather Data')
B. df.plot(y=['Temperature', 'Humidity'], x='Date', label='Weather Data')
C. df.plot(x='Date', y='Temperature', 'Humidity', title='Weather Data')
D. df.plot(x='Date', y=['Temperature', 'Humidity']).title('Weather Data')

Solution

  1. Step 1: Select multiple columns for y-axis correctly

    Use a list for the y parameter: y=['Temperature', 'Humidity'].
  2. Step 2: Add title properly in plot()

    The title parameter inside plot() sets the plot title directly.
  3. Step 3: Verify syntax correctness

    df.plot(x='Date', y=['Temperature', 'Humidity'], title='Weather Data') uses correct syntax with x, y as list, and title parameter all in one call.
  4. Final Answer:

    df.plot(x='Date', y=['Temperature', 'Humidity'], title='Weather Data') -> Option A
  5. Quick Check:

    Use y=[cols], x=col, title='text' in plot() [OK]
Hint: Use y=[cols], x=col, title='text' inside plot() [OK]
Common Mistakes:
  • Passing multiple y columns without list
  • Using label instead of title for plot title
  • Using .title() instead of .set_title()
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