美文网首页
matplotlib画图 2021-07-02

matplotlib画图 2021-07-02

作者: 夏树的宝马 | 来源:发表于2021-07-02 16:59 被阅读0次
    
    import time
    from matplotlib.font_manager import FontProperties
    from matplotlib import pyplot as plt
    # plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
    plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
    # C:\Windows\Fonts  我在winows字体中随便选了一个 用来解决中文乱码
    font=FontProperties(fname=r'./STXINGKA.TTF',size=20)
    import numpy as np
    plt.figure(figsize=(16,9),dpi=60)
    
    def test_zhe():
        # 画一个折线图。
        # x=np.linspace(0,2*np.pi,40)
        x=np.linspace(1,20,40)
        y1=np.random.randint(-20,50,size=40)
        y2=np.random.randint(-20,50,size=40)
        y3=np.random.randint(-20,50,size=40)
    
        plt.plot(x,y1,label='y1上课')
        plt.plot(x,y2,label='y2')
        plt.plot(x,y3,label='y3')
    
        plt.xlabel("x轴",fontproperties=font)
        plt.ylabel("y轴",fontproperties=font)
        plt.title("标题",fontproperties=font)
    
    
        plt.legend(bbox_to_anchor=(1,1), loc='upper right', borderaxespad=0)
        # 修改文字
        leg = plt.gca().get_legend() #或leg=ax.get_legend()
        ltext = leg.get_texts()
        # plt.setp(ltext, fontsize=12,font=font)
        plt.setp(ltext,font=font)
    
        # 修改刻度
        ax = plt.gca()
        # plt.xlim(-0.5, 11)
        # 把x轴的刻度范围设置为-0.5到11,因为0.5不满一个刻度间隔,所以数字不会显示出来,但是能看到一点空白
        # plt.ylim(-5, 110)
    
        plt.show()
        plt.savefig("test.jpg")
        plt.close()
    
    
    def plot_have_sub():
        plt.figure(figsize=(16, 9), dpi=60)
        # 一个图均匀分布在[0,50] 共100个
        x = np.linspace(0, 50, 100)
    
        # 将多张子图展示在一起,可以使用 subplot() 实现。即在调用 plot() 函数之前需要先调用 subplot() 函数。
        # 该函数的第一个参数代表子图的总行数,第二个参数代表子图的总列数,第三个参数代表活跃区域
        ax1=plt.subplot(2,1,1) # 行,列,活动区
        plt.plot(x,np.sin(x),'r')
        plt.xlabel("x轴",fontproperties=font)
        plt.ylabel("y轴",fontproperties=font)
        plt.title("标题",fontproperties=font)
    
        ax2=plt.subplot(2,1,2)
        plt.plot(x,np.cos(x),'g')
        plt.xlabel("x轴2",fontproperties=font)
        plt.ylabel("y轴2",fontproperties=font)
        plt.title("标题2",fontproperties=font)
        # 避免重叠
        plt.tight_layout()
    
        plt.show()
    
    
    if __name__ == '__main__':
        # 折线图,多条
        test_zhe()
    
        # 带有子图的
        plot_have_sub()
    
    
    

    相关文章

      网友评论

          本文标题:matplotlib画图 2021-07-02

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