利用kwargs批量画图,如何初始化多个参数集
问题背景:我想画多个通道的音频的图像,但是在通道数和每个画图参数并不确定的情况下,如果是一个一个去初始化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批量画图,如何初始化多个参数集相关推荐
- json字段顺序读取 python_如何利用Python批量读取视频文件的时间长度?
本期的主题是利用Python来实现对视频文件时间长度的读取. 在学习编程语言时,相比较于通过书本来学习知识,我更喜欢通过观看学习视频的方式来进行学习,通过主讲老师的讲解,我能很直观且快速的了解一些知识 ...
- python利用多线程批量下载高清美女图片(350秒下载近3600张1.2个G的照片,地址可变)
目录 第一章.前言 1.1.实现的效果: 1.2.需要用到的库: 第二章.代码分块讲解 2.1.对象的定义和初始化 2.2.方法1和2获取所有图集链接 2.2.1. 对应网站结构 2.2.2 .相应代 ...
- python 修改文件名_【学习分享】利用python批量修改文件名
1 前言 分享一个利用python批量修改文件名的方法,我们以前分享过用DOS命令来批量修改文件名,但是如果要修改多个文件夹内的文件名,用DOS命令就不好处理了,我们就来分享一下如何用python处理 ...
- CentOS服务器利用.htaccess批量封IP方法介绍
今年,我们服务器经常遭受大量僵尸网络攻击,而且流量特别大,批量封IP是必须的.下面我就来说说说利用.htaccess批量封IP方法. 我们的服务器是CentOS系统,利用.htaccess文件封IP方 ...
- 利用Cobbler批量快速网络安装CentOS
Cobbler是什么? Cobbler(补鞋匠)集成了PXE.DHCP.DNS.Kickstart服务管理和yum仓库管理工具,相对之前的 Kickstart 更加快捷.方便的批量布署red hat. ...
- 利用脚本批量添加域用户账户
以下内容摘自笔者编著的<网管员必读--网络管理>(第2版)一书: 2.4.6 利用脚本批量添加域用户账户 以上两种方法是比较常用的批量用户账户添加方法,但是不够灵活(不可以设置密码),而 ...
- SqlServer 利用游标批量更新数据
SqlServer 利用游标批量更新数据 Intro 游标在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,直接写 SQL 就可以了 Sample 下面来看 ...
- python批量生成图片_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- python批量生成图_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
最新文章
- NC:潮湿的墙体和家具中微生物迅速增长!
- 父母已身作则,静待花开
- Spring Boot 2.0(七):Spring Boot 如何解决项目启动时初始化资源
- MyBatis中动态sql实现时间范围比较的查询
- 应用商店后台MIS的一些思考
- CABR:Beamer的内容自适应速率控制算法
- Conversion to Dalvik format failed with error 1
- NetAdvangate Infragisticss 控件在工程移动到别的机器上,引用失效问题
- Java 并发编程之 ConcurrentLinkedQueue
- 腾讯实习生招聘笔试题目
- Nginx静态文件路径配置
- 360浏览器在b站看直播html5,用360浏览器看Bilibili视频很卡怎么办_360浏览器看B站视频卡如何解决-win7之家...
- 锐角三角形的一些结论及证明
- LSTM之父最新长文:现代AI和深度学习发展史
- 10.26 工作学习记录 英语短文背诵 springboot 起步依赖和配置抽取 英文背诵 英语语法 及物与不及物 语法练习 设计模式 工厂方法模式
- 电影《终结者2018》
- 分布式服务治理zookeeper原理及使用大全
- 计算机查找是什么意思,计算机的字长是什么意思?怎么查找一台计算机上的字长啊?...
- 印尼央行发移动支付“新规”,这家中国公司成为“唯一”彩蛋
- 什么是工业互联网?它从哪里来,要到哪里去?
热门文章
- PHP怎么写游戏成就系统,游戏成就系统成就了什么
- 小马哥----高仿苹果6sp 主板997AQOA 真实6571芯片刷机拆机主板图与开机识别图
- Selenium Webdriver处理下拉列表
- 优化多核CPU的TCP新建连接性能--重排spinlock
- 阿里腾讯之间的信息禁运与新柏林墙
- 基于遗传算法的新安江模型参数优化率定(三)
- 使用layui背景花屏
- 6,css溢出省略号案例
- 【动手学Paddle2.0系列】给女朋友做一次AI美甲
- Latex 删除线 下划线 波浪线 文字颜色 下划引用编号; Latex 对图像排版, 去除subfigure中的(a) 等