• matplotlib基础


    1 figure( )

    常用来设置图的大小,名称及颜色。

    https://blog.csdn.net/m0_37362454/article/details/81511427

    2 subplot( )

    Matplotlib的可以把很多张图画到一个显示界面,即设置画布划分以及图像在画布上输出的位置

    当想给子图加名称标签时可以在subplot( )函数后面加set_title( )函数,如plt.subplot(2,3,i+1).set_title(i+1,fontsize=20),还可直接设置字体大小。

     1 t=np.arange(0.0,2.0,0.1)
     2 s=np.sin(t*np.pi)
     3 plt.subplot(2,2,1) #要生成两行两列,这是第一个图plt.subplot('行','列','编号') 这里可不用逗号分隔,直接写
     4 plt.plot(t,s,'b--')
     5 plt.ylabel('y1')
     6 plt.subplot(2,2,2) #两行两列,这是第二个图
     7 plt.plot(2*t,s,'r--')
     8 plt.ylabel('y2')
     9 plt.subplot(2,2,3)#两行两列,这是第三个图
    10 plt.plot(3*t,s,'m--')
    11 plt.subplot(2,2,4)#两行两列,这是第四个图
    12 plt.plot(4*t,s,'k--')
    13 plt.show()

    subplot前面俩参数指定的是一个画板被分割成的行和列,后面一个参数则指的是当前正在绘制的编号!

    https://www.jianshu.com/p/de223a79217a

    3 subplots( )

    与subplot( )功能类似,只不过subplots( )指定图的位置时不用1 2 3,而是用类似定义矩阵元素位置的方法。

    1 t=np.arange(0.0,2.0,0.1)
    2 s=np.sin(t*np.pi)
    3 figure,ax=plt.subplots(2,2)
    4 ax[0][0].plot(t,s,'r*')
    5 ax[0][1].plot(t*2,s,'b--')
    6 plt.show()

     用法大全:http://www.360doc.com/content/18/0327/19/17157244_740682308.shtml

               https://www.cnblogs.com/zhizhan/p/5615947.html

    4 text()

    在画布的任意位置添加文本。在柱状图绘制时常与zip()函数结合使用。

    # !/usr/bin/python
    # coding: utf-8
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.arange(-10, 11, 1)
    y = x ** 2
    plt.plot(x, y)
    plt.text(-3, 20, "function: y = x * x", size=15, alpha=0.2)
    plt.text(-3, 40, "function: y = x * x", size=15, 
             family="fantasy", color="r", style="italic", weight="light", 
             bbox=dict(facecolor="r", alpha=0.2))
    plt.show()
    # 第一个参数是x轴坐标,第二个参数是y轴坐标,
    # 第三个参数是要显式的文本内容,若是小数,则用%.0f' % y,其中y是标注的数字,0表示不显示小数后面的数值,1就表示显示小数后面一位,
    # alpha设置字体的透明度  family设置字体  size设置字体的大小  style 设置字体的风格
    # wight 字体的粗细  bbox 给字体添加框,alpha 设置框体的透明度, facecolor 设置框体的颜色
    # ha='center', va= 'bottom'代表horizontalalignment(水平对齐)、verticalalignment(垂直对齐)的方式。

    参考:https://blog.csdn.net/you_are_my_dream/article/details/53455256

    官方链接:http://matplotlib.org/api/text_api.html#matplotlib.text.Text

    5 xlim( ) ylim( )

    xlim(xmin, xmax)和ylim(ymin, ymax)来设置x,y坐标范围

    6 plt.xscale()

    可用来改变坐标轴的刻度,设置为非线性坐标。

    参考:https://blog.csdn.net/claroja/article/details/70898253

    7 对于做图时不能显示汉字的问题.

    a. 若在Windows系统下,可将如下代码放到程序开头即可。

    from pylab import *
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    mpl.rcParams['axes.unicode_minus'] = False

    b. 若在linux系统下,输入fc-list :lang=zh确认系统拥有中文字体文件

    在程序开头引入字体如下: 注意fname中是输入如上指令后显示的linux中文字体.

    import matplotlib.pyplot as plt
    import matplotlib as mpl
    zhfont = mpl.font_manager.FontProperties(fname='/usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf')
    plt.plot([1, 2, 3])
    plt.xlabel(u'x轴标签', fontproperties=zhfont)
    plt.show()
    View Code

    8 plt.legend( )

    加上它,label才会显示。

    9  当画热力图时,如数字显示重叠,可添加plt.tight_layout()函数

  • 相关阅读:
    2016年开源软件评选(截图备份)
    牛逼的思维方式都是倒逼出来的(摘)
    3-22 多态
    3 -20 类
    3 -19标准库
    3 -16 json序列化
    3 -16 内置方法
    迭代对象 和 迭代器
    3 -14 迭代 和列表 生成器
    3-13 装饰器
  • 原文地址:https://www.cnblogs.com/xxswkl/p/10862631.html
Copyright © 2020-2023  润新知