使用subplots 创建子图
您可以根据大陆分离数据框并分别绘制。
使用这个。
import matplotlib.pyplot as plt
fig, ax = plt.subplots(1,5,figsize=(15,4))
continents = ['Asia', 'Europe', 'Africa', 'Americas', 'Oceania']
colors = ['blue', 'yellow', 'green', 'orange', 'purple']
for i, details in enumerate(zip(continents, colors)):
#details will contain list of tuples of continent and color
ax[i].plot(gapminder[gapminder['continent'] == details[0]]['year'].tolist(), gapminder[gapminder['continent'] == details[0]]['lifeExp'].tolist(), c=details[1])
ax[i].set_title(details[0])
另一个简单的方法是:
import matplotlib.pyplot as plt
plt.figure(figsize=(15,4))
plt.subplot(1,5,1)
plt.plot(gapminder[gapminder['continent'] == 'Asia']['year'].tolist(), gapminder[gapminder['continent'] == 'Asia']['lifeExp'].tolist(), c = 'blue')
plt.title('Asia')
plt.xlabel('Year')
plt.subplot(1,5,2)
plt.plot(gapminder[gapminder['continent'] == 'Europe']['year'].tolist(), gapminder[gapminder['continent'] == 'Europe']['lifeExp'].tolist(), c = 'yellow')
plt.title('Europe')
plt.xlabel('Year')
plt.subplot(1,5,3)
plt.plot(gapminder[gapminder['continent'] == 'Africa']['year'].tolist(), gapminder[gapminder['continent'] == 'Africa']['lifeExp'].tolist(), c = 'green')
plt.title('Africa')
plt.xlabel('Year')
plt.subplot(1,5,4)
plt.plot(gapminder[gapminder['continent'] == 'Americas']['year'].tolist(), gapminder[gapminder['continent'] == 'Americas']['lifeExp'].tolist(), c = 'orange')
plt.title('Americas')
plt.xlabel('Year')
plt.subplot(1,5,5)
plt.plot(gapminder[gapminder['continent'] == 'Oceania']['year'].tolist(), gapminder[gapminder['continent'] == 'Oceania']['lifeExp'].tolist(), c = 'purple')
plt.title('Oceania')
plt.xlabel('Year')