zoukankan      html  css  js  c++  java
  • 子图--面向对象

    子图:

    plt.subplot(2, 1, 1) #同一图中分开绘制图像
    #参数1 子图的行数;参数2 子图的列数;参数3 第几个图像
    x=np.linspace(-10,10,10)
    y=x**2
    plt.plot(x,y,linestyle=':',color='red',marker='o') #画直线
    #"ob" 设置画出坐标点,但是不连线

    plt.subplot(2, 1, 2)
    x1=np.linspace(-10,10,10)
    y1=x**2-20
    plt.plot(x1,y1,linestyle='--',color='b',marker='*')

    效果图:

    个人理解:plt--画本    figure--产生画纸

    子图-面向对象

    import numpy as np
    import matplotlib.pyplot as plt
    
    #解决能显示中文
    plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    
    x=np.arange(0,10,1)
    fig=plt.figure()  #定义一张图纸fig---面向对象作图
    #如果要多张图,可以定义多张图纸
    
    ax1 = fig.add_subplot(2,2,1)  #添加子图
    #将画布分割成2行2列,图像画在第1块--子图位置
    #返回值:子图对象
    h=ax1.plot(x,x) #在指定子图上画图
    #返回值:所画图对象
    t=ax1.set_title('标题')   #子图标题
    #返回值:标题对象
    
    ax2 = fig.add_subplot(2,2,2)  #添加子图
    h1=ax2.plot(x,-x)
    h=ax1.plot(x,-x)  #在ax1上再添加一张图
    
    plt.show()

    fig = plt.figure(figsize=(12, 5))     # 定义一张图纸fig 

    figsize=(12, 5)     图纸大小  单位:英寸

    self.ax1.set_xlabel("频率",fontsize=24)  #x轴标题
    self.ax1.set_ylabel("响度", fontsize=24,rotation=0) #y轴标题

    推荐:

    fig,axes=plt.subplots(ncols=2,nrows=2)  #定义一张图纸fig,里边两行两列的子图axes
    ax1,ax2,ax3,ax4=axes.ravel() #给各个子图取名
  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/liming19680104/p/10614116.html
Copyright © 2011-2022 走看看