美文网首页
Matplotlib_入门基本操作

Matplotlib_入门基本操作

作者: 幻想的双鱼座 | 来源:发表于2019-03-12 21:50 被阅读0次

    绘图是数据分析中最重要的任务之一,而matplotlib 作为python 绘图的标准库,可以作出几乎所有你想要的图形。

    1. 绘制一个简单的图形

    首先,在绘制图形之前,我们需要导入两个基本模块,即 matplotlib.pyplot 和numpy,接着我们使用 numpy 作出 x 轴与 y 轴,最后就可以绘图了,代码如下:

    import matplotlib.pyplot as plt
    import numpy as np
    
    x = np.arange(-np.pi,np.pi,0.01)
    y = np.sin(x)
    plt.plot(x, y)
    plt.show()
    

    2. 图表元素基础操作

    基本参数设置如下

    • color = 'r'c = 'r'---颜色
    • linestyle = '--'---线条类型
    • linewidth = 1.0---线条粗细
    • label = 'x'---标签
    • marker = '*'---数据点显示 *
    • plt.xlabel()---x 轴标题
    • plt.ylabel()---y 轴标题
    • plt.title()---图形标题
    • plt.xticks()---设置x轴刻度位置,以及旋转角度(rotation)和字大小(fontsize='small'/'medium'/'large'
    • plt.xticklabels---设置x轴刻度标签,也可理解是为刻度重新赋值,同样可设置标签旋转角度及字体大小(同xticks)
    • plt.legend()---图例
    • plt.grid(Ture)---添加网格,也可设置网格颜色,网格线条粗细和类型(同上)
    • plt.xlim(xmin,xmax)---x轴变化范围
    • plt.ylim(ymin,ymax)---y轴变化范围
    • plt.axis([xmin,xmax,ymin,ymax])---同时设置x,y轴范围,但必须加 []
    • plt.savefig('文件名',dpi=200,bbox_inches = 'tight')----dpi ☞像素,默认100;bbox_inches ☞要保存图片的范围,传递'tight',将会去除掉图片的周围空白部分
      例如:
    x1 = np.linspace(-np.pi,np.pi,1000)
    x2 = np.arange(-4,5)
    y1 = np.sin(x1)
    y2 = 0.1 * x2 - 0.2
    
    plt.plot(x1,y1,'r--',label = 'y1',linewidth = 1.5)
    plt.plot(x2,y2, 'b-',marker = '*',label = 'y2')
    
    plt.axis([-np.pi, np.pi, -1, 1])
    
    plt.xlabel('x')
    plt.ylabel('$sin(x)$')
    plt.title('Example')
    plt.legend()
    

    3.图片与子图

    在对数据绘图过程中,不可避免的我们会经常将一组数据绘制不同维度的图形,并会放在一起进行对比,因此涉及到子图的问题。在python中,建立子图通常有两种方式

    • 第一种:
    fig = plt.figure()
    ax1 = fig.add_subplot(2,2,1)
    ax2 = fig.add_subplot(2,2,2)
    ax3 = fig.add_subplot(2,2,3)
    
    • 第二种
    fig, axes = plt.subplots(2,2)
    ax1,ax2,ax3,ax4 = axes.flatten()
    #因为生成的 axes 是一个二维数组,因此可以像二维数组那样方便的进行索引
    axes[0,0]  #第一个子图
    axes[1,1]  #第四个子图
    

    相关文章

      网友评论

          本文标题:Matplotlib_入门基本操作

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