文章目录
- 任务描述
- 编程要求
任务描述
本关任务:掌握matplotlib的基本使用技巧,并能简单使用matplotlib进行可视化。
相关知识
在深入使用matplotlib之前你需要知道几个matplotlib技巧,这些技巧能帮助你更快速掌握matplotlib。
导入matplotlib
和numpy,pandas一样,在导入matplotlib时我们也可以用一些常用的简写形式:
import matplotlib as mpl
import matplotlib.pyplot as plt
pyplot是最常用的画图模块接口,功能非常强大。
显示图像
开发环境的不同,显示图像的方式也就不一样,一般有三种开发环境,分别是脚本、IPython shell、IPython Notebook。
在脚本中使用matplotlib进行可视化时显示图像可以使用plt.show()。
在IPython shell中使用matplotlib可视化非常方便,使用%matplotlib命令启动matplotlib模式。之后的任何plt命令都会自动打开一个图像窗口,当有新的命令,图像就会更新。但对已经画好的图像不会自动实时更新。对于这种可以使用plt.draw()强制更新。
在IPython Notebook中画图和IPthon shell类似,也需要使用%matplotlib命令。图像的显示是嵌在IPython Notebook页面中。有两种展示形式:%matplotlib notebook交互式图形;%matplotlib inline静态图形。
matplotlib还可以直接将图像保存文件,通过plt.savefig(“test.jpg”)命令保存文件。
plt.savefig("test.jpg")
画图接口
matplotlib有两个画图接口:一个是便捷的matlab风格接口,另一个是功能更强大的面向对象接口。
matplotlib的matlab接口许多语法都和MATLAB类似,所以使用过MATLAB的朋友们想必很快就能上手matplotlib。
import matplotlib.pyplot as plt#导入模块
plt.figure(figsize=(10,10))#创建图形,并设置大小为10 x 10
plt.subplot(2,1,1)#创建子图1(行,列,子图编号)
plt.plot([1,2,3,4], [1,2,3,4])
plt.subplot(2,1,2)#创建子图2(行,列,子图编号)
plt.plot([4,3,2,1], [1,2,3,4])
plt.show()
面向对象接口可以适应更加复杂的场景,更好地控制图形,在画比较复杂的图形市,面向对象方法会更方便。通过下面的代码,可以用面向对象接口重新创建之前的图形。
fig,ax=plt.subplots(2)#ax是一个包含2个axes对象的数组
ax[0].plot([1,2,3,4], [1,2,3,4])
ax[1].plot([4,3,2,1], [1,2,3,4])
plt.show()
编程要求
在右侧编辑器Begin-End补充代码,对传入的x,y两个数组做折线图,x对应x轴,y对应y轴。并保存到Task1/image1/T2.png,具体要求如下:
折线图的figsize为(10, 10);
文件名为Task1/image1/T2.png。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
def student(x,y):# ********** Begin *********#plt.figure(figsize=(10,10)) plt.savefig("Task1/image1/T2.png")plt.show()# ********** End **********#