Matplotlib多子图折线图

最近实习需要可视化统计数据

Matplotlib多子图折线图

plot的画图基本流程

  1. 给出数据
  2. 设定字体,画布,颜色
  3. 调用plot指定x,y,color,weight等等属性,需要注意x,y的数据个数要一致
  4. 设置title,lim,label,legend等辅助信息
  5. 如果是设置的子图,还需要设置adjust等等属性
  6. 最后给出show即可

下面这个是从csv中读取数据,并为每列数据画图的例子

多子图折线图

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt

color=['navy','red','yellowgreen','blueviolet','chocolate','darkblue','darksalmon','olive']

def drawGraph(FilePath,Actions,SensorNum):
    matplotlib.rcParams.update({'font.size': 8})

    # 解析得到当前文件的动作
    Action = None
    for tp in Actions:
        if tp in FilePath:
            Action = tp

    #得到所画图个数序列
    cols = [_ + 1 for _ in range(0, SensorNum)]
    #读入文件
    df = pd.read_csv(FilePath, usecols=cols)
    #x轴范围
    xlength=len(df.values.tolist())
    #y轴范围
    yMax=[-0.0002,0.0002]
	#尤其需要注意给出子图的布局格式三位数
    GraphID="%d%d"%(SensorNum,1)
    for i in range(0,SensorNum):
        #得到第i+1列,也就是第i个emg的数据
        y=df.iloc[:xlength,i]

        plt.subplot(GraphID+str(i+1))
        plt.ylim(yMax[0],yMax[1])
        plt.plot(range(0,xlength),y,color=color[i])
        plt.title("%dsEMG"%(i+1)+"  "+Action)
        plt.xlabel("ms")
    plt.subplots_adjust(hspace=0.8)
    plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值