Matplotlib

0Matplotlib介绍

  Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

1Matplotlib基本操作

  • 1.1 空白图形

import matplotlib.pylab as plt
plt.plot()
plt.show()

  • 测试结果:

  • 1.2读取数据展示

    • it01.csv提供数据
    name,confidence,money
    张三,55,5555.55
    李四,60,6666.66
    王五,70,7777.77
    赵六,80,8888.88
    哈八,90,9999.99
    西九,100,10000.11
    吴十,NaN,3333.33
    十一,44,4444.44
    • 读取数据展示1
    name,confidence,money
    张三,55,5555.55
    李四,60,6666.66
    王五,70,7777.77
    赵六,80,8888.88
    哈八,90,9999.99
    西九,100,10000.11
    吴十,NaN,3333.33
    十一,44,4444.44
    • 读取数据展示2
    import matplotlib.pylab as plt
    import pandas as pd
    itInfo = pd.read_csv('it01.csv',encoding="gb2312")
    plt.plot(itInfo['confidence'],itInfo['money'])
    #保存成图片
    plt.savefig('it01.png')


测试结果:

  • 1.3设置标签及倾斜

import matplotlib.pylab as plt
import pandas as pd
itInfo = pd.read_csv('it01.csv',encoding="gb2312")
plt.plot(itInfo['confidence'],itInfo['money'])
#横坐标旋转度数
plt.xticks(rotation=45)
#纵坐标旋转度数
plt.yticks(rotation=45)
#横坐标标题
plt.xlabel('confidence')
#纵坐标标题
plt.ylabel('money')
#图形名
plt.title('confidence - money')
#直接展示
plt.show()

  • 测试结果:

  • 1.4多图

    • 创建多图
    import matplotlib.pylab as plt
    #获取总视图
    fig = plt.figure()
    #总试图添加2行2列,四象限的一象限加入试图
    fig.add_subplot(2,2,1)
    #总试图添加2行2列,四象限的四象限加入试图
    fig.add_subplot(2,2,4)
    #直接展示
    plt.show()

    • 测试结果:

    • 多图数据关联
    import matplotlib.pylab as plt
    import pandas as pd
    itInfo = pd.read_csv('it01.csv',encoding="gb2312")
    #获取总视图
    fig = plt.figure()
    #总试图添加2行2列,四象限的一象限加入试图
    fs1 = fig.add_subplot(2,2,1)
    #总试图添加2行2列,四象限的四象限加入试图
    fs2 = fig.add_subplot(2,2,4)
    #添加数据,c参数可以调整线条颜色
    fs1.plot(itInfo['confidence'],itInfo['money'])
    fs2.plot(itInfo['money'],itInfo['confidence'],c='red')
    #直接展示
    plt.show()

    • 测试结果:

  • 1.5 numpy,matplotlib简单demo1

import matplotlib.pylab as plt
import numpy as np
#指定主视图宽高
plt.figure(figsize=(16,6))
#颜色列表
colors = ['red','blue','green','orange','black']
#[10 20 30 40 50 60 70 80 90]
h = np.arange(10,100,10)

for i in range(5):
    #随机9行1列数组
    v = 1000*i + np.random.randn(9,1) *1000
    label = str(i*10)
    plt.plot(h,v,c=colors[i],label=label)
#自动调整小图位置,多运行2次位置是不一样的
plt.legend(loc='best')
#直接展示
plt.show()

  • 测试结果:

  • 1.6 numpy,matplotlib简单demo2

    • import matplotlib.pylab as plt
      import numpy as np
      #随机2行一百列的数据
      data = np.random.randn(2,100)
      print(data)
      #创建2行2列的主试图
      fig,axs = plt.subplots(2,2,figsize=(10,10))
      #直方图
      axs[0,0].hist(data[0])
      #散点图
      axs[1,0].scatter(data[0],data[1])
      #折线图
      axs[0,1].plot(data[0],data[1])
      #二维图
      axs[1,1].hist2d(data[0],data[1])
      
      #直接展示
      fig.show()

      测试结果:
原文地址:https://www.cnblogs.com/chen8023miss/p/11214648.html