caimouse
在IT行业有20多年的经验。拥有20多年的C和C++开发经验,5年以上Python开发经验,资深数据库开发、上百G数据库优化经验。曾经任职嵌入式工程师、P2P开发工程师、银行信用卡交易系统工程师、全自动化电池测试部门经理。
展开
-
使用python来写出数千万行的excel文件的方法
如果采用内存的方法,内存会比较高的。做了一个测试,100万行11列,就要占用3个G内存。这时就需要采用流式写入EXCEL文件,才能输出上千万行数据。但是用户又不想分开文件保存,必须写在一个EXCEL文件里。通这样的方式,就可以写出上亿行的数据。由于数据量越来越大,原创 2025-03-13 15:16:52 · 71 阅读 · 0 评论 -
深入浅出matplotlib(106):使用巴特沃斯滤波器进行带通滤波和带阻滤波
前面的例子学习了怎么样处理低通和高通滤波的方法,但是还有另外两种滤波:带通滤波和带阻滤波。现在就来学习这两种方式,先来学习带通滤波,它的意思就是说只有一个区间的频率进行通过,在这范围之外的就不能通过。因此,我们要演示这个功能,先来创建三种频率的混合波形,如下图:从上面的波形来看,是看不出来是什么频率组成的信号,所以真实的信号已经被其它波形干扰,已经失去本来的面貌。由于我们只需要20Hz的波形信号,所以我们不能采用高通滤波,也不能采用低通滤波,必须使用带通滤波才可以把10Hz和50Hz的信号去掉。原创 2021-09-20 18:55:17 · 1357 阅读 · 0 评论 -
深入浅出matplotlib(105):使用巴特沃斯滤波器分离10Hz和20Hz的信号
在开发各种系统中,经常会遇到系统干扰的情况,比如50Hz的交流电的干扰,又或者大气中传播时会有混入不同的信号。因此我们需要使用各种的滤波器来进行复杂的工作,以便分离出来有用的信号,下面就来举例怎么样使用巴特沃斯滤波器的作用。假如有一个10Hz和一个20Hz的信号一起混合了的正弦信号,那么我们认为20Hz的信号是有用的,10Hz信号是干扰信号,因此我们需要从这里提取出原来20Hz的信号,那么我们需要怎么样做呢?由于20Hz的信号比10Hz信号的频率要高,所以这里我们采用高通滤波器,同时把截止频率设置为15Hz原创 2021-09-20 11:57:29 · 1996 阅读 · 0 评论 -
深入浅出matplotlib(104):使用scipy.signal.sosfilt函数
在滤波设计里,滤波器会有多种参数保存方式,来源于滤波器的类型比较多,每一种各有优缺点。比如从下面界面看到,就有以下几种:可以看到采用SOS结构保存,也就是Second-order sections的缩写,它其实是Second-order sections representation of the IIR filter,就是采用SOS表示的IIR滤波器。这种表示是采用二阶级联的转置的滤波器(direct-form II transposed structure),对应上图里的就是Direct-For原创 2021-09-12 12:14:20 · 1608 阅读 · 0 评论 -
深入浅出matplotlib(103):使用巴特沃斯滤波器
在信号处理过程中,经常要使用巴特沃斯滤波器,因为硬件有很多干扰因素。比如工频干扰,在中国基本上都会有50Hz的交流电干扰。接着下来还会器件的干扰,由于采集的信号比较小,放大之后就会带来各种其它信号进行来。又比如采集心电图信号过程中,可能受到肌肉电信号的干扰。由于各种各样的干扰存在,我们需要把这些干扰信号排除掉。很多时候采用硬件来滤波已经不可能,或者采用硬件的成本太贵,这样就需要采用软件的算法来计算这种滤波。而使用滤波器的选择方面,往往会选择巴特沃斯滤波器。巴特沃斯滤波器(Butterworth fi原创 2021-09-11 22:35:10 · 824 阅读 · 0 评论 -
深入浅出matplotlib(102):理想滤波器
在数字信号处理领域中,数字滤波器占有非常重要的地位。根据其计算方式可以分为FIR(有限脉冲响应)滤波器,和IIR(无限脉冲响应)滤波器两种。理想的低通滤波器频率响应如下图所示:其中为取样频率,为阻带频率。通常为了计算方便,将取样频率正规化为1。于是的含义就是每个取样点所包含的信号的周期数,例如0.1表示每个取样点包含0.1个周期,即一个周期有10个取样点。根据离散傅立叶变换的公式可以求出此理想低通滤波器的脉冲响应为:其中n为负无穷到正无穷的整...原创 2021-09-11 11:23:17 · 1186 阅读 · 0 评论 -
深入浅出matplotlib(101):研究最有名的滤波函数:sinc函数
在信号处理领域,Sinc滤波器一个全部除去给定带宽之上的信号分量而只保留低频信号的理想电子滤波器。在频域它的形状象一个矩形函数,在时域它的形状象一个Sinc函数。由于理想的 Sinc 滤波器(人们熟知的矩形滤波器)有无限的延迟,所以现实世界中的滤波器只能是它的一个近似,但是它仍然在概念演示或者验证中得到了广泛应用,如采样定理以及Whittaker–Shannon插值公式。由于这个函数使用的地方比较,我们先来学习一下它的图形特征:那条青色的曲线就是有名的sinc函数,而那么蓝线是sin(x)/x的原创 2021-09-11 11:02:07 · 2797 阅读 · 0 评论 -
深入浅出matplotlib(100):在X轴实现24小时显示坐标
有一个网友碰到这样一个问题,如果直接使用%H来设置坐标轴显示,会发现格式化的数据显示为00到23,然后再到00,它不会显示24出来。为了解决这个问题,可以采用自定义坐标字符串的方式来显示,不过时间变化就是在00到24小时之间了,只能使用整数来表示。具体内容可参考下文:深入浅出matplotlib(35):设置坐标轴个性化显示标签https://mysoft.blog.youkuaiyun.com/article/details/111479756在这里演示的例子如下:#深入浅出matplot.原创 2021-05-23 16:24:43 · 1510 阅读 · 0 评论 -
深入浅出matplotlib(99):散点图里自定义标记显示
有时候在matplotlib里找不到自己需要的标记符号,那么就需要自己来定制;又或者一些有特殊意的符号也需要自己来处理,下面就来介绍一下怎么样自定义标记的方法。在这里的标记是一个小椭圆形,它采用下面的代码来创建:rx, ry = 3., 1.area = rx * ry * np.pitheta = np.arange(0, 2 * np.pi + 0.01, 0.1)verts = np.column_stack([rx / area * np.cos(theta), ry / a原创 2021-03-02 19:51:56 · 653 阅读 · 0 评论 -
深入浅出matplotlib(98):一条曲线多种颜色显示
如果你需要同一条曲线根据不同部位选择不同的颜色来显示,那么就需要看一下这个例子。如下图:这个图里,每条曲线根据曲线的导数来选择不同的颜色显示,相同导数,也就是说明相同的曲率部分就会是一样的颜色。因此用下面的代码来创建数据和导数:x = np.linspace(0, 3 * np.pi, 500)y = np.sin(x)dydx = np.cos(0.5 * (x[:-1] + x[1:])) # 一阶导数# 创建规格化数据norm = plt.Normalize(d..原创 2021-03-02 19:26:08 · 3677 阅读 · 0 评论 -
深入浅出matplotlib(97):控制曲线中间部分不连接
当我们要显示数据时,偶尔会遇到这样的问题,比如一条连续的曲线,由于物理条件限制,导致在某一个区域里不能取值,那么画曲线的时候,中间不能有值,也不能用连线连接起来。这时需要怎么处理呢?如果只是删除中间的值,那么再显示曲线的时候,并不能达到这个目的,因为在删除中间数据的地方,它们还是会画一条连接线,除非分成两条曲线来显示。下文将介绍两种方法,既不用分成两条曲线显示,也不用删除就可以显示正确了,这就是使用np.ma.masked_where函数或设置为NaN值。比如显示如下图:在上图中,可以看到.原创 2021-03-02 18:05:26 · 1315 阅读 · 0 评论 -
深入浅出matplotlib(96):标记的疏密控制
前面学习过误差棒的控制,其实接着下来学习的与此类似,只不过这里主要是标记的控制。在以前绘制标记,都是不关心标记的多少的问题,只要有多少就显示多少。有时候这种情况会干扰到曲线显示,可以像前面介绍的采用坐标轴刻度线来表示,这里介绍另外一种方法,就是采用子采样的方式来控制标记的数量。绘制上面的图,主要通过下面的代码进行: ax.plot(x, y, 'o', ls='-', ms=4, markevery=case)其实主要给参数markevery输入不同的内容来实现的,因此只需要理解..原创 2021-03-02 14:59:55 · 565 阅读 · 0 评论 -
深入浅出matplotlib(95):标记样式的分类
在matplotlib里有很多地方要使用标记,比如曲线上某一点突出表示。又比如不同种类的散点图的表示,还有做一些标注的地方。在这里详细介绍一下所有标记符号。一是不能填充型的标记符号,只能显示一种颜色,而填充型的标记可以显示多种颜色。这些就是不可填充的标记,要想列出上面这些标记,需要使用下面的代码:#深入浅出matplotlib-蔡军生(qq:9073204)#https://mysoft.blog.youkuaiyun.com/#2020-03-02import matplotl..原创 2021-03-02 11:41:57 · 498 阅读 · 0 评论 -
深入浅出matplotlib(94):设置点划线的样式
由于matplotlib是一个专业,工业化的图形库,它对很多细节性的功能也作了深入的定制,让它满足各种各样的需求。在本文里就介绍一下怎么样来设置曲线的点划线的样式,如下图:像上图就有很多类型的点划线,在matplotlib里并不是通过类型定义来定义几种类型的,而是通过一个元组或列表来描述,比如在函数描述:set_dashes(self, seq)这里参数seq就是一个元组或列表,比如(5, 2, 1, 2)输入,就是表示5点表示实线,2点表示分隔,1点实线,2点表示分隔。只要你明白.原创 2021-03-02 10:34:18 · 1028 阅读 · 0 评论 -
深入浅出matplotlib(93):线段连接和端点的样式
由于matplotlib可以产生工业标准的绘图,因此在每一个细节上都是高要求,高标准的。在本文里就介绍一下,线段与线段之间的连接样式,线段两端的绘制样式。如果只是在普通的示意图里,可能不需要关心这样的细节,但是在像CAD这样的精细机械制图方面,就需要注意了,因为不一样的转角就造就不一样的效果。比如工厂里的设备,如果大多数让人碰到的设备表面,一般采用圆角,这样才会避免伤到人。如果搞错了,采用尖角,就麻烦了,可能设备就成为杀人的武器了。因此,我们还是来仔细地了解一下这种细节上的区别,如下图:由上面看到,原创 2021-03-01 17:19:33 · 1099 阅读 · 0 评论 -
深入浅出matplotlib(92):利用水平堆积图来显示离散分布数据
在日常生活中经常会遇到离散形的数据,比如年级里统计同学吃饭的喜好,一个问题有几个选择,收集数据之后,需要把数据显示出来,这些数据就是离散性的数据,它们之间又不是百分比的关系,也不是求和的关系,而是一种比例关系。而比例关系采用水平堆积图就更容易分清楚那一部分比较多,那一部分比较少,进行强烈的对比分析。比如如下图所示:在这里同一个问题采用一条条形图,不同的回答数量采用占比的方式显示。要实现这种功能显示,需要先计算堆积图的颜色: labels = list(results.keys...原创 2021-03-01 10:57:01 · 543 阅读 · 0 评论 -
深入浅出matplotlib(91):渐变的条形图
在前面学习过很多条形图,它们都是填充统一的颜色,如下图:如果感觉到这样显示有些单调,想创新一下,比如让中间填充的颜色改为渐变颜色显示,如下图这样显示:在前面显示的条形图,如果很多人已经审美疲劳,换成渐变的条形图显示,就会发现有耳目一新的感觉。要是在客户处展示出来,说不定拿到大订单;要是在老板处展示,说不定拿到高额奖金。要实现渐变的条形图,由于库里并没有提供这样个性化的功能,需要自己去实现。其思路就是这样想:采用图片显示的方式来实现条形图,然后采用imshow函数进行显示,在显示同时.原创 2021-03-01 10:14:50 · 1063 阅读 · 0 评论 -
深入浅出matplotlib(90):有图案填充的直方图
前面学习过普通的直方图绘制,毕竟直方图是必须学会的绘图基础,因为直方图是一个常用的统计图。如果你也想对直方图做一些创意的显示,比如在中间填充一些图案,又或者采用阶梯显示。比如下面的演示结果:在实现这些功能里,调用了函数fill_between和fill_betweenx,用它来实现条形图显示。整个演示的例子代码如下:#深入浅出matplotlib-蔡军生(qq:9073204)#https://mysoft.blog.youkuaiyun.com/#2020-02-28impo..原创 2021-02-28 15:48:43 · 583 阅读 · 1 评论 -
深入浅出matplotlib(89):事件对象不同颜色的演示
前面学习了使用事件对象可以在坐标轴上显示数据的密度,现在接着来演示一下事件对象的一些特性使用,比如控制线条的颜色,控制显示方式等等。这里演示的结果如下图:这里使用这个函数:Axes.eventplot(self, positions, orientation='horizontal', lineoffsets=1, linelengths=1, linewidths=None, colors=None, linestyles='solid', *, data=None, **kwarg.原创 2021-02-28 15:14:59 · 291 阅读 · 1 评论 -
深入浅出matplotlib(88):在坐标轴上显示数据点的密集程度
很多时候有这样一个需求,比如显示的数据,由于数据不连续,但大多数都会让它们连接成直线。如果为了看清楚每一个数据点分布在哪里,就需要使用采散点图来显示数据点出来,这样是可以解决显示的问题,但是数据点是画在曲线上,又会导致曲线不平滑的问题。这样就处于两难的境地,既想把曲线光滑地显示,又想知道数据点的密集程度,又有什么方法来解决呢?下面就来介绍一个解决方案,这个方案就是把数据点的密集程度显示在坐标轴上,而不是显示在显示的曲线上面,这样就轻松地避开了上面存在的问题。class matplotlib.c.原创 2021-02-28 10:19:04 · 2133 阅读 · 0 评论 -
深入浅出matplotlib(87):误差条的数量控制
前面学习过误差条显示,也学习了误差条限制方向显示,但是还有一种情况没有学习的,比如当你要显示十几万条数据,而误差条的数据也这么多,就会密集地成为一片,如下图:看到这种图时,密密麻麻的,那么原来曲线就看起来吃力了。这时候怎么办呢,总需要想办法来解决的,幸好matplotlib提供了这样的功能,真是太好了,接下来就开始学习这个功能怎么样来使用,先来看一个全部显示的代码:ax0.set_title('all errorbars')ax0.errorbar(x, y1, yerr=y1err)原创 2021-02-27 19:03:43 · 291 阅读 · 0 评论 -
深入浅出matplotlib(86):带有箭头显示的误差条绘制
在前面曾经学习误差条的显示,那时显示的误差条是一个光滑的直线条显示,如果想更进一步显示,比如显示带有箭头形状,又或者想只显示一边方向,或者间隔地显示。误差条(error bar)可以选择标准差,也可以是置信区间,只是运用的场景不同。误差条是一种表示数据分散程度的指标,常常能在发表文章的图示中所见,显示潜在的误差或相对于系列中每个数据标志的不确定程度。误差线可以用标准差(平均偏差)或标准误差,一般通用的是这两个,如果是发英文文章,在caption中加以上bars donate S.D.(标准差)or原创 2021-02-26 19:23:15 · 580 阅读 · 0 评论 -
深入浅出matplotlib(85):参数化曲线的误差带绘制
在我们做实验,或者做学术报告,经常要写上误差范围,在绘图上也就把这种误差范围的区域叫做误差带。通过显示误差带,非常直观地看到误差允许的范围,很容易接受了这种处理方法。在这里介绍一种任意曲线的误差带的绘制方法。比如绘制如下图的结果:可以看到误差带,环绕着整个曲线周围,并且有大有小地分布。要实现这么完善的误差带显示,先要来学习Scipy里的两个函数:splprep, splev。如果你的电脑上没有安装SciPy,也请立即安装上它,否则运行后面的例子就会出错。第一步先来一个简单的例子:.原创 2021-02-26 18:26:32 · 1238 阅读 · 0 评论 -
深入浅出matplotlib(84): 两个信号互谱密度(CSD)的可视化
互谱密度(CSD)是用于比较信号的几种高级图形功能之一。具体来说,它可以随时显示频谱上一对信号的功率分布。该信息可用于确定信号相对于另一个信号的影响。简而言之,CSD可用于在一对信号中找到互谐振频率。它显示了两个信号如何相互关联(“相关”,“统计连接”,“影响”)相对于另一个信号。测试工程师可能需要更好地了解两个信号之间的复杂振动关系。例如,在多轴系统中,一个轴上的振动会影响另一个轴上的振动。CSD揭示了信号x相对于信号y的影响。比较来自两个源的信号时,测量可能会有时间延迟。因...原创 2021-02-25 16:48:30 · 2052 阅读 · 0 评论 -
深入浅出matplotlib(83): 两个信号相干性计算的可视化
在很多应用领域都需要计算两个信号的相干性,比如两个地震信号是否相关的,又或者比如设计的波形,与采集回来的波是否相同。其实最明显的,就是两束光波的相干性,双缝干涉实验会看到明亮相隔的条纹。光的相干(coherence)指的是两个光的波动(光波)在传播过程中保持着相同的的相位差,具有相同的频率,或者有完全一致的波形。这样的两束光可以在传播过程中产生稳定的干涉(interference),也就是相长干涉、相消干涉。但在现实中完美的相干光能是不存在的,通常用相干性来描述光的相干性能,包含时间相干性和空间相干性。从激原创 2021-02-25 08:28:28 · 2194 阅读 · 0 评论 -
深入浅出matplotlib(82):分类变量直接可视化
数据的分类显示,很多场合都会使用到,比如目前火热火热的机器学习,就需要大量地进行分类,当测试结果出来时,就需要可视化,那么这时就要使用matplotlib来显示了。而matplotlib里,函数有一种功能特别适合分类显示。如果有一班学生,期末考试了,老师要看一下整个数学成绩的分布情况,就可以把学生的名称放到一个数组里,然后把学生对应的数学成绩放到另外一数组里,最后把这两个数组直接丢到matplotlib里的函数就可以显示出来了,它会在x轴显示名称,在y轴显示成绩。下面来演示一个例子,假如去超市购物.原创 2021-02-24 15:03:00 · 497 阅读 · 0 评论 -
深入浅出matplotlib(81):水平断条图(broken_barh)
随着社会的发展,已经走出了小农经济,进入大规模协作的工业化社会,在工业化的社会里有一个显著的特征就是人与人之间要协调,要步伐一致,否则很难把事情做成,提高效率,就像流水线作用那样,如果某一个工位出问题,那么整个流水线就会出问题。针对这种情况,一般是采用水平断条图来计算每个工位的时间长度,然后接着下来再看一个工位的时长,这样一个接着一个,就可以知道每个工位的时间长了,就可以判断每个工位是否接续得上来。另外,在项目管理上经常使用甘特图,如下图:这些图也是水平断条图的应用场合,如下面的就更像了:.原创 2021-02-24 08:42:28 · 616 阅读 · 0 评论 -
深入浅出matplotlib(80):多个子图绘图显示
当我们在做实验时,经常会拿到多次实验结果,但是实验结果会有一些差异,需要把这些差异通过数据显示出来,这怎么办呢?一般情况下,就是把多个数据显示在同一个界面里,这样人们就很方便地看到不同实验结果的差异。多个子图显示的方法,在前面已经使用到很多,也有不同方式,在这里再介绍一种创建方法,比如显示如下图的布局方式:看到这么复杂的数据显示,其实只有8行代码就可以实现,因为matplotlib已经把所有的功能进行封装,只需要设置数据输入,就可以进行非常典型的显示。第一个子图实现了直方图显示,第三个.原创 2021-02-23 18:17:34 · 554 阅读 · 0 评论 -
深入浅出matplotlib(79):在tkinter应用程序里嵌入matplotlib绘图
由于matplotlib绘图的功能非常强大,如果可以嵌入到别的应用程序框架里,这时开发各种各样的应用程序就非常方便了,让应用程序绘图的功能更快速地实现,满足客户的要求。matplotlib支持以下框架:Embedding in GTK3Embedding in wx #2Matplotlib With Glade 3Embedding in QtEmbedding in Tk在这里实现一个例子,演示怎么嵌入到Tk的应用程序界面里。结果如下图:当点击上面按钮时,就会调用m.原创 2021-02-23 17:26:19 · 1580 阅读 · 2 评论 -
深入浅出matplotlib(78):再次对数学公式进行了解
数学是一门最基础的学科,它是现代科学的基石,也是现代化的武器,更是众多科学家共通的语言。数学是人类对事物的抽象结构与模式进行严格描述的一种通用手段,可以应用于现实世界的任何问题,所有的数学对象本质上都是人为定义的。从这个意义上,数学属于形式科学,而不是自然科学。不同的数学家和哲学家对数学的确切范围和定义有一系列的看法。在人类历史发展和社会生活中,数学发挥着不可替代的作用,同时也是学习和研究现代科学技术必不可少的基本工具。前面已经学习过,只要把数学公式按TeX表达式写到字符串,就可以采用matp.原创 2021-02-23 09:44:55 · 450 阅读 · 2 评论 -
深入浅出matplotlib(77):极坐标绘图显示2
前面学习了极坐标来显示数据,接着下来学习更多的极坐标显示的例子,这样对于以后想显示更多的方式,提供了有价值的参考。比如在极坐标里绘画散点图:在这个例子里,主要是下面这行代码:fig, ax = plt.subplots(subplot_kw={'projection': 'polar'})在创建子图时,就调用参数说明它是创建极坐标。接着调用scatter把数据显示出来,为了有数据要显示,需要自己创建一些演示数据:N = 150r = 2*np.random.randn(.原创 2021-02-23 09:22:33 · 440 阅读 · 0 评论 -
深入浅出matplotlib(76):极坐标绘图显示
极坐标在雷达上面经常会使用到,因为雷达扫描,就是旋转的方式进行的,返回波就是目标显示的位置。另外在医学仪器上面,X光的CT扫描也会使用极坐标,因为它也是采用旋转发射,然后再接收的方式实现,非常适合极坐标进行绘图。可见,极坐标在生活中使用非常广泛,也极其有用,像医院里CT扫描检测,已经作为主要分析手段,极大改善医学水平的提高。下面先来一个简单的例子,有一个感观上的认识:在这里画了一条随着角度变化,而极径不断向外增加的曲线。先要采用极坐标投影参数,才可以建立极坐标:fig, ax = .原创 2021-02-22 21:29:18 · 776 阅读 · 0 评论 -
深入浅出matplotlib(75):对数坐标绘图显示
对数坐标绘图,在一般的学校里学习到的机会比较少,而在医学或生物学里就比较常见了,因为研究细菌或者细胞的生长时,它们有时候会按指数的情况进行繁植,比如下图:细菌生长曲线(Bacterial growth curve)是专指单细胞微生物的。它是将少量的单细胞微生物接种纯种到一定容积的液体培养基后,在适宜的条件下培养,定时取样测定细胞数量。以细胞增长数目的对数做纵坐标,以培养时间做横坐标,绘制一条如图所示的曲线,我们称这条曲线为细菌的生长曲线。这个曲线的Y轴坐标是采用对数来表示的,那么我们怎么样.原创 2021-02-22 15:52:31 · 3843 阅读 · 0 评论 -
深入浅出matplotlib(74): 股票数据按日期显示
前面已经学习Matplotlib在坐标格式化显示日期,这里再次来学习一下日期显示,因为股票的数据都是以交易日期为主轴的数据,自然而然,日期就是股票数据显示的关键信息,无论进行单日比较,还是同期比较,都需要进行日期显示和计算。在Matplotlib里,日期的内部表示都是转换为从0001-01-01 00:00:00 UTC开始的相对时间,不过,如果你是进行内部代码的开发,可以不用关心这一点,只需要使用常用的几个时间函数来转换,就可以把内部表示转换普通的日期表示,比如使用date2num()函数可以从.原创 2021-02-22 09:53:25 · 692 阅读 · 0 评论 -
深入浅出matplotlib(73): 科赫曲线的填充
“谁不知道熵概念就不能被认为是科学上的文化人,将来谁不知道分形概念,也不能称为有知识。”——物理学家惠勒分形理论是在上世纪70年代由芒德布罗几乎集一己之力创立的,但其严格的数学基础之一——芒德布罗集,却是70年代末芒德布罗及布鲁克斯、马蒂尔斯基以及道阿迪、哈伯德、沙斯顿等人几乎同时分别建立完善的,他们的思想都源自上世纪前叶一些前辈如法图、莱维、朱利亚的有关思想。分形理论的最基本特点是用分数维度的视角和数学方法描述和研究客观事物,也就是用分形分维的数学工具来描述研究客观事物。它跳出了一维的线、二.原创 2021-02-21 22:30:33 · 592 阅读 · 0 评论 -
深入浅出matplotlib(72): 界面交互之滑动条
前面学习了按钮交互的界面,这样就可以理解了Matplotlib的交互机制,它需要定义回调函数,设置回调函数,设置界面显示的颜色,以及鼠标在上面时的颜色,然后在回调函数里进行更新。接着下来可以更进一步学习,比如使用滑动条来配置参数,这样可以动态在调整曲线显示的数据,不需要返回代码再作修改,这样更加适合给特定用户编写的软件,因为这样的用户不需要懂编程就可以修改程序的参数,而向应用的范围就更加广阔了。有了前面学习基码,增加滑动条就变得比较简单了,在这里要设置的例子如下:在上图里,显示一个正弦.原创 2021-02-20 18:30:48 · 1339 阅读 · 0 评论 -
深入浅出matplotlib(71): 界面交互之按钮
在使用matplotlib的过程中,大多数的情况下,都只是把数据显示出来就可以了。但是也有偶尔需要进行交互的方式进行显示的,比如临时地隐藏一些数据显示,这样先显示概览的数据,最后才显示详细的数据。那么这时就需要使用到交互的界面功能,才可以与程序进行交互操作。在matplotlib里定义matplotlib.widgets类,它的作用就是定义界面交互的组件和方式:要想使用matplotlib的界面交互,那么需要导入这个库:from matplotlib.widgets import Bu.原创 2021-02-18 17:36:56 · 1715 阅读 · 0 评论 -
深入浅出matplotlib(70): 用散点图表示股票的波动情况
随着社会的发展,从原始社会的自给自足的小农经济,到目前以资本为配置的市场经济,资本作为调整社会发展方向,影响着社会里每一个人,也影响每一个人的工作取向。因此,股票市场是一个资本主要的市场,也是社会经济发展的方向标。作为现代人,无论何种工作,无论何种年龄,都应该关注股票市场,因为不关注,就代表着你无法看懂未来的方向,没有办法把握住社会发展的先机,一步落后,就会导致步步落后,永远消失在社会主流之外。毕竟股票市场,已经作为经济血脉的关键部分,必须时刻关注它的变化。既然股票市场这么重要,研究股票里的变化,.原创 2021-02-18 11:21:06 · 1244 阅读 · 0 评论 -
深入浅出matplotlib(69): 显示表格
在matplotlib里,不仅可以显示复杂的图,还可以把表格数据与图一起显示。这样可以把很复杂的数据进行清晰地显示出来。在matplotlib提供了table函数,这个函数定义如下:matplotlib.pyplot.table(cellText=None, cellColours=None, cellLoc='right', colWidths=None, rowLabels=None, rowColours=None, rowLoc='left', colLabels=None, colC.原创 2021-02-10 17:49:51 · 1402 阅读 · 4 评论 -
深入浅出matplotlib(68): 绘制饼图
当你需要表示数据的整体与局部的关系时,最容易表明这种关系的图表就是饼图,为什么这样说呢?因为饼图以一个圆形为整体,再以扇形表示占比,这样看起来各部分的比例一目了然,再加上颜色对比,就更加明显了。饼图主要用于总体中各组成部分所占比重的研究。下面先来演示一个简单的例子:在这个例子里,先定义每一个扇形的名称和比例:labels = ['A', 'B', 'C', 'D']sizes = [15, 30, 45, 10]第一行代码是定义扇形的名称,它是显示在圆形的外面。第二行代码是.原创 2021-02-08 17:42:24 · 365 阅读 · 0 评论