zoukankan      html  css  js  c++  java
  • 【Python】简述Matplotlib库常用方法和属性

    折线图:

    import matplotlib.pyplot as plt
    import random
    plt.figure(figsize = (20,8),dpi = 100)
    x = range(40)
    y = [random.uniform(18,22) for i in range(40)]
    y1 =  [random.uniform(12,16) for i in range(40)]
    x_label = ["11:{}".format(i) for i in x]
    plt.xticks(x[::5],x_label)
    plt.yticks(range(10,25,1))
    plt.grid(linestyle = '--',alpha = 1)
    plt.xlabel("time change")
    plt.ylabel("work")
    plt.title("test")
    plt.plot(x,y,linestyle='-.',label="tttttt1")
    plt.plot(x,y1,linestyle = '-',label="sssssss2")
    plt.legend()
    plt.savefig("abcd.png")
    plt.show()
    折线图

    通过运行上面一段程序,可以得到下图

    柱状图:

    import matplotlib.pyplot as plt
    import random
    x1 = range(5)
    x2 = [i+0.2 for i in range(5)]
    y1 = [random.uniform(1000,10000) for i in x1]
    y2 = [random.uniform(1000,10000) for i in x1]
    plt.figure(figsize=(23,8),dpi=100)
    plt.bar(x1,y1,width=0.2,color=['r','b','k','c','m'],label="13:00")
    plt.bar(x2,y2,width=0.2,color=['y','g','m','r','b'],label="15:00")
    plt.xticks([i+0.1 for i in range(5)])
    plt.yticks(range(0,11000,1000))
    plt.legend()
    plt.grid(linestyle="--",alpha=0.5)
    plt.show()
    复合柱状图

    通过运行上面一段程序,可以得到下图

    饼状图:

    import random
    import matplotlib.pyplot as plt
    x = ['a','b','c','d','e','f','g','h']
    y = [random.randint(900,2200) for i in range(8)]
    plt.figure(figsize=(20,8),dpi=100)
    plt.pie(y,labels=x,colors=['r','b','k','c','m','y','g','k'],autopct="%1.2f%%")
    plt.axis('equal')
    plt.legend()
    plt.show()
    饼状图

    通过运行上面一段程序,可以得到下图

    直方图:

    import random
    import matplotlib.pyplot as plt
    a = [random.randint(0,100) for i in range(60)]
    print(a)
    plt.figure(figsize=(20,8),dpi=100)
    points = 2
    group_num = int(max(a)-min(a)/points)
    print(group_num)
    plt.xticks(range(min(a),max(a)+2,distance))
    plt.grid(linestyle="--",color="r",alpha=0.8)
    plt.hist(a,bins=group_num,density=True)
    plt.show()
    直方图

    通过运行上面一段程序,可以得到下图

    散点图:

    import matplotlib.pyplot as plt
    import random
    x = [random.uniform(200,300) for i in range(10)]
    y = [random.uniform(500,800) for i in range(10)]
    plt.figure(figsize=(23,8),dpi=100)
    plt.xticks(range(190,310,10))
    plt.yticks(range(100,1000,50))
    plt.grid(linestyle="--",color="g",alpha=1)
    plt.scatter(x,y,label="newtest")
    plt.legend()
    plt.show()
    散点图

    通过运行上面一段程序,可以得到下图

    在一个画布中绘制多个图像:

    import matplotlib.pyplot as plt
    import random
    figure,axes=plt.subplots(2,1,figsize = (30,8),dpi = 100)
    x = range(40)
    y = [random.uniform(18,22) for i in range(40)]
    y1 =  [random.uniform(12,16) for i in range(40)]
    x_label = ["11:{}".format(i) for i in x]
    axes[0].plot(x,y,color="g",linestyle="-",label="test1")
    axes[1].plot(x,y1,color="r",linestyle="-.",label="test2")
    axes[0].set_xticks(x[::2])
    axes[0].set_xticklabels(x_label[::2])
    axes[1].set_xticks(x[::5])
    axes[1].set_xticklabels(x_label[::5])
    axes[0].set_xlabel("test")
    axes[0].set_ylabel("test")
    axes[0].set_title("test")
    axes[1].set_xlabel("test")
    axes[1].set_ylabel("test")
    axes[1].set_title("test")
    axes[0].legend()
    axes[1].legend()
    axes[0].grid(linestyle="--",alpha=0.5)
    axes[1].grid(linestyle="-.",alpha=1)
    plt.show()
    同一画布中绘制多个图像

    通过运行上面一段程序,可以得到下图

    通过上述几个例子,可以得到以下常用函数用法。

    plt.figure(figsize=(32,16),dpi=120)  ###可以绘制一个制定大小的画布,其中常用的参数有figsize(可自定义画布大小),dpi(可定义清晰度)。还有一些不常用的,比如facecolor可以自定义背景颜色
    plt.xticks(list,x_label)  ###可以自定义x轴内容,list正如list一样要传入一个列表,后者x_label传入自定义内容
    plt.yticks(list,y_label)  ###同xticks
    plt.xlabel("自定义x轴图例")  ###可以自定义X轴图例
    plt.ylabel("自定义y轴图例")  ###可以自定义y轴图例
    plt.grid(linestype="-.",alpha=0.5)  ###可以自定义网格,其中linestyle为线条类型,alpha为透明度
    plt.title("自定义图标标题")  ###可以自定义图表的标题
    plt.legend()  ###可以显示图例
    plt.savefig("abc.png")  ###可以将图表保存为图像到本地
    plt.show()  ###可以显示图像

    plt.plot(x,y,label="折线图")  ###绘制折线图,传入的x与y必须为列表,label自定义折线图名字
    plt.scatter(x,y,label="newtest")  ###绘制散点图,参数使用方法同上
    plt.bar(x,y,width=0.5,color=['r','b','k','c','m','y','g','k','c','b'])  ###绘制柱状图,width可自定义柱体大小,color自定义每个柱体颜色(颜色必须传入为列表且与len(x)相对应)
    plt.hist(a,bins=group_num,density=True)  ###绘制直方图,其中a为传入的数据集,bins为传入的组数,density默认为False(是否显示频度)
    plt.pie(y,labels=x,colors=['r','b','k','c','m','y','g','k'],autopct="%1.2f%%")  ###绘制饼状图,其中y为每块的值,labels为每块的名称,autopct数值保留固定小数位
    plt.subplots(nrows, ncols)  ###在一个画布中绘制多个图像,nrows为行数,ncols为列数

     需要注意的是,subplots和其他几个绘图函数不同的是,其中每个图像的各个函数需要加上set_

    内容未完待续,在后期学习或者使用中如果笔者遇到更多内容将继续更新

  • 相关阅读:
    函数 out 传值 分割
    函数
    特殊集合
    集合
    数组

    穷举
    循环
    mac 软件安装
    实用信息查询接口
  • 原文地址:https://www.cnblogs.com/ikww/p/11497374.html
Copyright © 2011-2022 走看看