问题背景:我想画多个通道的音频的图像,但是在通道数和每个画图参数并不确定的情况下,如果是一个一个去初始化alpha,linewidth等,必然是非常不方便的。
所以想用kwargs去简化初始化。
这是画图的代码

    for i in range(channels):plt.plot(time_array,array[:,i],**kwargs[str(i)])

好,那么,大家可以想一下这个kwargs是怎么储存的呢?
下面揭晓

kwargs= {'0':{'alpha': 0.3,'color': 'red'},'1':{'alpha': 0.3,'color': 'green'}
}

这样就可以在画图时给每个图都给上参数了。
当然还可以有另一种做法,那就是把每个value作为一个数组。就像这样:

a={'a':[0,1,2,3],'b':[4,5,6,7]
}

但是这样的话,怎么把他放到画图语句里面呢?希望有高人指点。
记录一下还是比较麻烦的做法,我不用这个了,因为还要给他kwargs赋值,不然用不了。。就算了

def plot_all_audio_channels_in_time_domain(array, sr, time=None, **kwargs):""":param array::param sr::param time::param kwargs::return:Example:a, sr = convert_audio_segment_to_numpy(path)# print(sr)# print(len(a[:,0])/sr)# a=a[2*sr:10*sr,:]# assign the plot params# kwargs= {#     '0':{#         'alpha': 0.3,#         'color': 'yellow'#     },#     '1':{#         'alpha': 0.3,#         'color': 'blue'#     }# }# time=[5,6]# plot_all_audio_channels_in_time_domain(a,sr,time,**kwargs)"""channels = array.shape[1]legends = ['Channel ' + str(i) for i in range(channels)]# if channels == 1:#     kwargs.setdefault('alpha',1)# else:#     kwargs.setdefault('alpha',0.5)if time is None:time_array = np.arange(len(array[:, 0])) / srfor i in range(channels):plt.plot(time_array, array[:, i],**kwargs[str(i)])else:time_array = time[0] + np.arange(len(array[sr * time[0]:sr * time[1], 0])) / srfor i in range(channels):plt.plot(time_array, array[sr * time[0]:sr * time[1], i], alpha=alpha, **kwargs[str(i)])plt.legend(legends)plt.show()

利用kwargs批量画图,如何初始化多个参数集相关推荐

  1. json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?

    本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...

  2. python利用多线程批量下载高清美女图片(350秒下载近3600张1.2个G的照片,地址可变)

    目录 第一章.前言 1.1.实现的效果: 1.2.需要用到的库: 第二章.代码分块讲解 2.1.对象的定义和初始化 2.2.方法1和2获取所有图集链接 2.2.1. 对应网站结构 2.2.2 .相应代 ...

  3. python 修改文件名_【学习分享】利用python批量修改文件名

    1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...

  4. CentOS服务器利用.htaccess批量封IP方法介绍

    今年,我们服务器经常遭受大量僵尸网络攻击,而且流量特别大,批量封IP是必须的.下面我就来说说说利用.htaccess批量封IP方法. 我们的服务器是CentOS系统,利用.htaccess文件封IP方 ...

  5. 利用Cobbler批量快速网络安装CentOS

    Cobbler是什么? Cobbler(补鞋匠)集成了PXE.DHCP.DNS.Kickstart服务管理和yum仓库管理工具,相对之前的 Kickstart 更加快捷.方便的批量布署red hat. ...

  6. 利用脚本批量添加域用户账户

    以下内容摘自笔者编著的<网管员必读--网络管理>(第2版)一书: 2.4.6 利用脚本批量添加域用户账户  以上两种方法是比较常用的批量用户账户添加方法,但是不够灵活(不可以设置密码),而 ...

  7. SqlServer 利用游标批量更新数据

    SqlServer 利用游标批量更新数据 Intro 游标在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,直接写 SQL 就可以了 Sample 下面来看 ...

  8. python批量生成图片_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

  9. python批量生成图_利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...

最新文章

  1. NC:潮湿的墙体和家具中微生物迅速增长!
  2. 父母已身作则,静待花开
  3. Spring Boot 2.0(七):Spring Boot 如何解决项目启动时初始化资源
  4. MyBatis中动态sql实现时间范围比较的查询
  5. 应用商店后台MIS的一些思考
  6. CABR:Beamer的内容自适应速率控制算法
  7. Conversion to Dalvik format failed with error 1
  8. NetAdvangate Infragisticss 控件在工程移动到别的机器上,引用失效问题
  9. Java 并发编程之 ConcurrentLinkedQueue
  10. 腾讯实习生招聘笔试题目
  11. Nginx静态文件路径配置
  12. 360浏览器在b站看直播html5,用360浏览器看Bilibili视频很卡怎么办_360浏览器看B站视频卡如何解决-win7之家...
  13. 锐角三角形的一些结论及证明
  14. LSTM之父最新长文:现代AI和深度学习发展史
  15. 10.26 工作学习记录 英语短文背诵 springboot 起步依赖和配置抽取 英文背诵 英语语法 及物与不及物 语法练习 设计模式 工厂方法模式
  16. 电影《终结者2018》
  17. 分布式服务治理zookeeper原理及使用大全
  18. 计算机查找是什么意思,计算机的字长是什么意思?怎么查找一台计算机上的字长啊?...
  19. 印尼央行发移动支付“新规”,这家中国公司成为“唯一”彩蛋
  20. 什么是工业互联网?它从哪里来,要到哪里去?

热门文章

  1. PHP怎么写游戏成就系统,游戏成就系统成就了什么
  2. 小马哥----高仿苹果6sp 主板997AQOA 真实6571芯片刷机拆机主板图与开机识别图
  3. Selenium Webdriver处理下拉列表
  4. 优化多核CPU的TCP新建连接性能--重排spinlock
  5. 阿里腾讯之间的信息禁运与新柏林墙
  6. 基于遗传算法的新安江模型参数优化率定(三)
  7. 使用layui背景花屏
  8. 6,css溢出省略号案例
  9. 【动手学Paddle2.0系列】给女朋友做一次AI美甲
  10. Latex 删除线 下划线 波浪线 文字颜色 下划引用编号; Latex 对图像排版, 去除subfigure中的(a) 等