美文网首页
科学计算基础库matplotlib

科学计算基础库matplotlib

作者: 训儿哥 | 来源:发表于2018-05-02 23:39 被阅读0次

参考网址:官方文档
参考网址:基于官方教程的matplotlib简介

整体画图流程

matplotlib以层次化的结构组织对象,并提供了两种操纵这些对象的方式:1.直接调用对象的成员函数; 2.使用类似matlab的命令行方式,第二种方式在数据分析中更加常用。在matplotlib.pyplot模块中封装好了很多命令行风格的函数,导入该模块的一般写法:
import matplotlib.pyplot as plt

第一步:在画图之前,要准备好白纸

matplotlib将画板组织成两个对象figureaxes,在一个figure上可以创建多个axes,而axes只能属于某一个figure,画图最终是在axes上进行绘制的。关于matplotlib中的几个关键概念可以参考General Concepts

figure对象和axes对象
  1. 创建白纸:fig = plt.figure(num=1, figsize=(x,y)) 图片的编号以及大小等属性
  2. 创建子图:
    方式一:plt.subplot(211)
    2表示两个子图,11:所在位置(第1行,第1列)。(plt 针对当前子图或者全局操作,会自动在当前的figure上创建子图。)
    方式二:
    ax1 = fig.add_subplot(211)
    ax2 = fig.add_subplot(212)
  3. 如果要创建很多个子图,可以直接使用fig, axes = plt.subplots(2, 3)
  4. 注:如果figure()和subplot()没有定义的话,都默认为figure(1)和subplot(111)
    如果要创建很多个子图,可以这样定义fig, axes = plt.subplots(2, 3)
第二步:正式画图

再次强调绘制内容(画图、标题、文本等)都是画在子图axes之上的。这里为了凸显出整体流程,只举最简单的例子。具体绘制细节放在文章下一部分介绍。
绘制同样有两种方式:

  1. plt.plot( ) 这种方式会自动绘制在当前子图上
  2. axes.plot() 把图画在指定的子图上
第三步:显示&保存图片
  1. 显示图片 plt.show( ) 所有的图纸都会显示
  2. 存储图片``

详解plot( )

参考网址:官方文档matplotlib.pyplot.plot
通常的调用方法:
plot([x], y, [fmt], **kwargs)

  • 没有x的话会根据y的长度自动生成,
  • fmt = '[color][marker][line]' 用缩写定义线条风格的三个方面:颜色,点的形状,连线的形状。也可以在**kwargs中分别指定。(具体支持哪些缩写可以参考官方文档列的表格)。
  • **kwargs 中可以是任意一个Line2D的属性
  • 该函数返回的是一个Line2D的对象,这个对象包含了和一条线相关的所有信息,画一条线就相当于创建一个Line2D对象。
    最后举一个基本的例子
plt.plot(range(10),'bo--', label='example',linewidth='2')
plt.legend(loc='best') #必须有plt.legend()才能显示图标,在这里可以对图标显示加以控制
plt.title('example')
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.grid(True)
plt.show()

相关文章

网友评论

      本文标题:科学计算基础库matplotlib

      本文链接:https://www.haomeiwen.com/subject/lvyblftx.html