今天我们将学习如何在Matplotlib中使用子图。使用子图,以便我们可以以更面向对象的方式使用Matplotlib。我们将学习如何使用子图来绘制我们在之前的文章中关于开发语言工资的数据图表,然后我们将学习如何使用子图在一个图上创建多个图。让我们开始吧...
首先我们从data.csv文件中读取数据,进行绘制:
import pandas as pd
from matplotlib import pyplot as plt
from matplotlib import font_manager
plt.style.use('seaborn')
data = pd.read_csv('data.csv')
ages = data['Age']
dev_salaries = data['All_Devs']
py_salaries = data['Python']
js_salaries = data['JavaScript']
#创建子图
fig, (ax1,ax2) = plt.subplots(nrows=2,ncols=1)
ax1.plot(ages, dev_salaries, color='#444444',
linestyle='--', label='All Devs')
ax2.plot(ages, py_salaries, label='Python')
ax2.plot(ages, js_salaries, label='JavaScript')
zh_font = font_manager.\
FontProperties(fname='C:\\Windows\\Fonts\\msyh.ttf')
ax1.legend()
ax1.set_title('年龄的平均薪水图',fontproperties=zh_font)
ax1.set_ylabel('平均薪水',fontproperties=zh_font)
ax2.legend()
ax2.set_xlabel('年龄',fontproperties=zh_font)
ax2.set_ylabel('平均薪水',fontproperties=zh_font)
plt.tight_layout()
plt.show()
#保存图表为图片
fig.savefig('fig.png')