We use NumPy to create and handle numbers easily. Matplotlib helps us draw pictures from those numbers. Together, they make it simple to see data as graphs.
When you want to draw a line chart of daily temperatures.
When you need to show how sales change over months.
When you want to plot points to see a pattern in data.
When you want to compare two sets of numbers visually.
Syntax
NumPy
import numpy as np
import matplotlib.pyplot as plt
x = np.array([numbers])
y = np.array([numbers])
plt.plot(x, y)
plt.show()
Use np.array to create number lists for plotting.
plt.plot() draws the graph, and plt.show() displays it.
Examples
Simple line graph with 4 points.
NumPy
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4])
y = np.array([10, 20, 25, 30])
plt.plot(x, y)
plt.show()
Plotting a smooth sine wave using many points.
NumPy
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100) # 100 points from 0 to 10
y = np.sin(x) # sine values for each x
plt.plot(x, y)
plt.title('Sine Wave')
plt.xlabel('x values')
plt.ylabel('sin(x)')
plt.show()
This program draws sine and cosine waves on the same graph to compare them.
NumPy
import numpy as np
import matplotlib.pyplot as plt
# Create 50 points from 0 to 4*pi
x = np.linspace(0, 4 * np.pi, 50)
# Calculate sine and cosine values
sin_y = np.sin(x)
cos_y = np.cos(x)
# Plot sine and cosine
plt.plot(x, sin_y, label='Sine')
plt.plot(x, cos_y, label='Cosine')
# Add title and labels
plt.title('Sine and Cosine Waves')
plt.xlabel('x values')
plt.ylabel('y values')
# Show legend
plt.legend()
# Display the plot
plt.show()
OutputSuccess
Important Notes
Always import NumPy as np and Matplotlib pyplot as plt by convention.
Use np.linspace(start, stop, num_points) to create smooth ranges of numbers.
Adding labels and titles helps understand the graph better.
Summary
NumPy helps create and manage numbers easily.
Matplotlib draws graphs from those numbers.
Together, they make data easy to see and understand.
Practice
(1/5)
1. What is the main purpose of using NumPy together with Matplotlib in data science?
easy
A. To create numerical data and then visualize it with graphs
B. To write text documents and print them
C. To build websites and style them
D. To store large files on the computer
Solution
Step 1: Understand NumPy's role
NumPy helps create and manage numerical data easily.
Step 2: Understand Matplotlib's role
Matplotlib is used to draw graphs to visualize data.
Final Answer:
To create numerical data and then visualize it with graphs -> Option A
Quick Check:
NumPy + Matplotlib = Data + Graphs [OK]
Hint: NumPy handles numbers, Matplotlib draws pictures [OK]
Common Mistakes:
Confusing Matplotlib with text editing tools
Thinking NumPy is for website design
Mixing file storage with data visualization
2. Which of the following code snippets correctly imports NumPy and Matplotlib for use?
easy
A. import np
import matplotlib.pyplot
B. import numpy
import matplotlib as plt
C. from numpy import matplotlib
import pyplot as plt
D. import numpy as np
import matplotlib.pyplot as plt
Solution
Step 1: Check NumPy import syntax
Correct import is 'import numpy as np' to use 'np' as shortcut.
Step 2: Check Matplotlib import syntax
Correct import is 'import matplotlib.pyplot as plt' to use 'plt' for plotting.
Final Answer:
import numpy as np\nimport matplotlib.pyplot as plt -> Option D
Quick Check:
Standard imports = import numpy as np
import matplotlib.pyplot as plt [OK]
Hint: Use 'as np' and 'as plt' for easy code [OK]
Common Mistakes:
Using wrong aliases like 'import matplotlib as plt'
Forgetting 'pyplot' in Matplotlib import
Trying to import non-existing modules
3. What will be the output plot type when running this code?
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
medium
A. A line graph showing a sine wave
B. A bar chart with values from 0 to 10
C. A scatter plot with random points
D. No plot will show due to error
Solution
Step 1: Understand data creation
np.linspace creates 100 points from 0 to 10; y is sine of x values.
Step 2: Understand plotting command
plt.plot draws a line graph connecting (x, y) points; plt.show displays it.
Final Answer:
A line graph showing a sine wave -> Option A
Quick Check:
plot(x, sin(x)) = sine wave line [OK]
Hint: plt.plot with np.sin creates smooth wave line [OK]
Common Mistakes:
Confusing plt.plot with bar or scatter plots
Expecting random points instead of line
Missing plt.show() to display plot
4. Identify the error in this code snippet that tries to plot a cosine wave:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 50)
y = np.cos(x)
plt.plot(x, y)
plt.show
medium
A. np.cos is not a valid NumPy function
B. np.linspace should use 100 points instead of 50
C. Missing parentheses after plt.show to display the plot
D. x and y arrays have different lengths
Solution
Step 1: Check plt.show usage
plt.show is a function and must be called with parentheses: plt.show()
Step 2: Verify other parts
np.linspace and np.cos are correct; x and y lengths match.
Final Answer:
Missing parentheses after plt.show to display the plot -> Option C
Quick Check:
plt.show() needed to display plot [OK]
Hint: Always call plt.show() with parentheses [OK]
Common Mistakes:
Forgetting parentheses on plt.show
Thinking np.cos is invalid
Assuming array length mismatch without checking
5. You want to plot two functions, sine and cosine, on the same graph using NumPy and Matplotlib. Which code correctly does this?
hard
A. import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(np.sin(x))
plt.plot(np.cos(x))
plt.show()
B. import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))
plt.legend(['sin', 'cos'])
plt.show()
C. import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x), np.cos(x))
plt.show()
D. import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.scatter(x, np.sin(x))
plt.scatter(x, np.cos(x))
plt.show()
Solution
Step 1: Check plotting both functions
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))
plt.legend(['sin', 'cos'])
plt.show() plots sine and cosine separately with x values, correct usage.
Step 2: Check legend and show
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))
plt.legend(['sin', 'cos'])
plt.show() adds legend for clarity and calls plt.show() properly.
Final Answer:
Code that plots sine and cosine with legend and shows plot -> Option B
Quick Check:
Separate plt.plot calls + legend + plt.show() = import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))
plt.legend(['sin', 'cos'])
plt.show() [OK]
Hint: Plot each function with x, add legend, call plt.show() [OK]
Common Mistakes:
Plotting without x values causing wrong x-axis
Missing legend to identify lines
Using scatter instead of line plot for smooth curves
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.