头歌-Matplotlib-第1关:画图接口


任务描述

本关任务:掌握matplotlib的基本使用技巧,并能简单使用matplotlib进行可视化。

相关知识

在深入使用matplotlib之前你需要知道几个matplotlib技巧,这些技巧能帮助你更快速掌握matplotlib

导入matplotlib

numpy,pandas一样,在导入matplotlib时我们也可以用一些常用的简写形式:

 
 
  1. import matplotlib as mpl
  2. import matplotlib.pyplot as plt

pyplot是最常用的画图模块接口,功能非常强大。

显示图像

开发环境的不同,显示图像的方式也就不一样,一般有三种开发环境,分别是脚本、IPython shellIPython 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")命令保存文件。

 
 
  1. plt.savefig("test.jpg")
画图接口

matplotlib有两个画图接口:一个是便捷的matlab风格接口,另一个是功能更强大的面向对象接口。

matplotlibmatlab接口许多语法都和MATLAB类似,所以使用过MATLAB的朋友们想必很快就能上手matplotlib

 
 
  1. import matplotlib.pyplot as plt#导入模块
  2. plt.figure(figsize=(10,10))#创建图形,并设置大小为10 x 10
  3. plt.subplot(2,1,1)#创建子图1(行,列,子图编号)
  4. plt.plot([1,2,3,4], [1,2,3,4])
  5. plt.subplot(2,1,2)#创建子图2(行,列,子图编号)
  6. plt.plot([4,3,2,1], [1,2,3,4])
  7. plt.show()

面向对象接口可以适应更加复杂的场景,更好地控制图形,在画比较复杂的图形市,面向对象方法会更方便。通过下面的代码,可以用面向对象接口重新创建之前的图形。

 
 
  1. fig,ax=plt.subplots(2)#ax是一个包含2个axes对象的数组
  2. ax[0].plot([1,2,3,4], [1,2,3,4])
  3. ax[1].plot([4,3,2,1], [1,2,3,4])
  4. plt.show()
编程要求

在右侧编辑器Begin-End补充代码,对传入的xy两个数组做折线图,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.plot(x, y, marker='o', linestyle='-', color='b', label='Line')
   
    
    
    
    plt.savefig('Task1/image1/T2.png')
    plt.close()
    # ********** End **********#


猜你喜欢

转载自blog.csdn.net/Joy19981127/article/details/134765038