zoukankan      html  css  js  c++  java
  • 使用matplotlib画图

    一、介绍

    官方文档:https://www.matplotlib.org.cn/home.html

    安装:pip install matplotlib

    Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。

    二、使用例子

    1、波形图

    import matplotlib.pyplot as plt
    import numpy as np
    x=np.linspace(0,2*np.pi,100) #100个点组成的2*np.pi线
    y1=np.sin(x) #y1线
    y2=np.cos(x) #y2线
    plt.title("sin&cos title") #标题
    plt.xlabel("x") #x轴的名称
    plt.ylabel("y") #y轴的名称
    plt.plot(x,y1)  #画y1线
    plt.plot(x,y2)  #画y2线
    plt.show() #显示

    图片

    2、柱状图

    import matplotlib.pyplot as plt
    
    name_list = ["A","B","C","D"] #x轴柱状图的名字
    num_list=[10,8,5,6.1]         #y轴的值(如A=10,B=8,以此类推)
    plt.bar(range(0,len(name_list)),num_list,color = "rgby",tick_label = name_list) #画图range(0,len(name_list))代表4个柱状图,color = "rgby"会循环这个规律的颜色
    plt.show()     #显示

     

    3、堆叠柱状图

    import matplotlib.pyplot as plt
    
    name_list = ["A","B","C","D"]
    num_list=[10,8,5,6.1]
    num_list1=[5,7,3,8]
    plt.bar(range(0,len(name_list)),num_list,color = "r",tick_label = name_list)
    plt.bar(range(0,len(name_list)),num_list1,color = "g",tick_label = name_list)
    plt.legend()
    plt.show()

    4、饼状图

    import matplotlib.pyplot as plt
    
    label = ["A","B","C","D"]
    num = [12,30,50,8]  
    ex=[0.1,0,0.1,0]  #比重,重点的会分出来,例如A,C
    plt.axis(aspet=1) #1等分
    plt.pie(x=num,autopct='%.2f%%',explode=ex,labels=label,colors="rgby",shadow=True,startangle=30) #startangle倾斜角度,shadow表示立体感(阴影)
    plt.show()

     

    5、实时画图

    import matplotlib.pyplot as plt
    
    ax=[] #定义空列表
    ay=[] 
    plt.ion()  #打开实时画图窗口
    for i in range(100):  #画的次数
        ax.append(i)    
        ay.append(i**2)
        plt.clf()        #清除上一次的图
        plt.plot(ax,ay)  #画图
        plt.pause(0.1)   #时间间隔(类似sleep)
    plt.ioff()           #关闭实时画图

    6、三维画点

    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
    import random
    
    x=np.random.normal(0,1,100)  #生成0-1之间的100个x坐标
    y=np.random.normal(0,1,100)
    z=np.random.normal(0,1,100)
    
    fig = plt.figure() 
    ax = Axes3D(fig)  #打开3d窗口
    ax.scatter(x,y,z)   #画3d图
    plt.show()

    7、erwe散点图

    import matplotlib.pyplot as plt
    import numpy as np
    import random
    
    
    n=1000 #1000个点
    x=np.random.randn(n)  #生成1000个x轴坐标
    y=np.random.randn(n)
    plt.scatter(x,y) #画图
    plt.show()

  • 相关阅读:
    PHPCMS V9 二次开发 —— 入口程序+系统类库与函数库调用+配置文件调用+函数扩展+控制器扩展技巧
    PHPCMS V9 二次开发 —— 二次开发流程
    PHPCMS V9 二次开发 —— 目录结构分析
    如何让pc端网站在手机上可以等比缩放的整个显示
    上海科技馆+博物馆两日游
    旅行的意义
    这样预判牛市第一波能涨到多少点比较靠谱
    历次牛市规律告诉你:如果只有五万元,买什么股票最赚钱?捕捉十年十倍大牛股
    算法竞赛在线测评 competitive programming
    不要做孩子学习的拐杖
  • 原文地址:https://www.cnblogs.com/zhangb8042/p/11194358.html
Copyright © 2011-2022 走看看