Introduction to Data
Visualization with
Matplotlib
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B
Ariel Rokem
Data Scientist
Data visualization
Image credit: Gytis Dudas and Andrew Rambaut
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Introducing the pyplot interface
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding data to axes
seattle_weather["MONTH"] seattle_weather["MLY-TAVG-NORMAL"]
DATE 1 42.1
1 Jan 2 43.4
2 Feb 3 46.6
3 Mar 4 50.5
4 Apr 5 56.0
5 May 6 61.0
6 Jun 7 65.9
7 Jul 8 66.5
8 Aug 9 61.6
9 Sep 10 53.3
10 Oct 11 46.2
11 Nov 12 41.1
12 Dec Name: MLY-TAVG-NORMAL, dtype: float64
Name: MONTH, dtype: object
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding data to axes
ax.plot(seattle_weather["MONTH"], seattle_weather["MLY-TAVG-NORMAL"]
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding more data
ax.plot(austin_weather["MONTH"], austin_weather["MLY-TAVG-NORMAL"])
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Putting it all together
fig, ax = plt.subplots()
ax.plot(seattle_weather["MONTH"], seattle_weather["MLY-TAVG-NORMAL"]
ax.plot(austin_weather["MONTH"], austin_weather["MLY-TAVG-NORMAL"])
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Practice making a
gure!
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B
Customizing your
plots
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B
Ariel Rokem
Data Scientist
Customizing data appearance
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-PRCP-NORMAL"])
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding markers
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-PRCP-NORMAL"],
marker="o")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Choosing markers
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-PRCP-NORMAL"],
marker="v")
plt.show()
https://matplotlib.org/api/markers_api.html
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Setting the linestyle
fig, ax = plt.subplots()
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-TAVG-NORMAL"],
marker="v", linestyle="--")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Eliminating lines with linestyle
fig, ax = plt.subplots()
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-TAVG-NORMAL"],
marker="v", linestyle="None")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Choosing color
fig, ax = plt.subplots()
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-TAVG-NORMAL"],
marker="v", linestyle="--", color="r")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Customizing the axes labels
ax.set_xlabel("Time (months)")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Setting the y axis label
ax.set_xlabel("Time (months)")
ax.set_ylabel("Average temperature (Fahrenheit degrees)")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding a title
ax.set_title("Weather in Seattle")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Practice customizing
your plots!
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B
Small multiples
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B
Ariel Rokem
Data Scientist
Adding data
ax.plot(seattle_weather["MONTH"],
seattle_weather["MLY-PRCP-NORMAL"],
color='b')
ax.set_xlabel("Time (months)")
ax.set_ylabel("Precipitation (inches)")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding more data
ax.plot(seattle_weather["MONTH"], seattle_weather["MLY-PRCP-25PCTL"],
linestyle='--', color='b')
ax.plot(seattle_weather["MONTH"], seattle_weather["MLY-PRCP-75PCTL"],
linestyle='--', color=color)
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
And more data
ax.plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-NORMAL"],
color='r')
ax.plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-25PCTL"],
linestyle='--', color='r')
ax.plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-75PCTL"],
linestyle='--', color='r')
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Too much data!
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Small multiples with plt.subplots
fig, ax = plt.subplots()
fig, ax = plt.subplots(3, 2)
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Adding data to subplots
ax.shape
(3, 2)
ax[0, 0].plot(seattle_weather["MONTH"],
seattle_weather["MLY-PRCP-NORMAL"],
color='b')
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Subplots with data
fig, ax = plt.subplots(2, 1)
ax[0].plot(seattle_weather["MONTH"], seattle_weather["MLY-PRCP-NORMAL"],
color='b')
ax[0].plot(seattle_weather["MONTH"], seattle_weather["MLY-PRCP-25PCTL"],
linestyle='--', color='b')
ax[0].plot(seattle_weather["MONTH"], seattle_weather["MLY-PRCP-75PCTL"],
linestyle='--', color='b')
ax[1].plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-NORMAL"],
color='r')
ax[1].plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-25PCTL"],
linestyle='--', color='r')
ax[1].plot(austin_weather["MONTH"], austin_weather["MLY-PRCP-75PCTL"],
linestyle='--', color='r')
ax[0].set_ylabel("Precipitation (inches)")
ax[1].set_ylabel("Precipitation (inches)")
ax[1].set_xlabel("Time (months)")
plt.show()
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Subplots with data
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Sharing the y-axis range
fig, ax = plt.subplots(2, 1, sharey=True)
INTRODUCTION TO DATA VISUALIZATION WITH MATPLOTLIB
Practice making
subplots!
I N T R O D U C T I O N TO D ATA V I S U A L I Z AT I O N W I T H M AT P LOT L I B