您当前的位置:首页 > 计算机 > 编程开发 > Python

Python可视化扩展库Matplotlib函数spy()与scatter()的对应关系

时间:01-10来源:作者:点击数:

任务描述:

在Python扩展库Matplotlib中,函数spy()用来绘制和显示二维数组的稀疏模式,即使用散点符号显示二位数字中的非0位置。其完整用法如下:

spy(Z, precision=0, marker=None,

      markersize=None, aspect='equal',

      origin='upper', **kwargs)

下面的代码生成一个二维随机数组,然后将其中一部分元素的值设置为0,调用spy()函数可视化这个数组,大部分参数使用默认值。

e779fe1e381cf940a2bf0c6e333b7db5.png

运行结果:

6f87ef1558ad7237049ce90e9059f16d.png

从绘图结果来看,spy()函数实际上就是绘制了散点图,理论上讲也可以使用scatter()来实现,该函数完整语法为:

scatter(x, y, s=None, c=None, marker=None,

           cmap=None, norm=None, vmin=None,

           vmax=None, alpha=None, linewidths=None,

           *, edgecolors=None, plotnonfinite=False,

           data=None, **kwargs)

但如果直接调用scatter()函数在非0位次绘制散点图的话得到的图形并不完全一样,代码如下图所示:

6c39a872d48cfbde1bab12eea15c312d.png

运行结果:

acd0c4fb535f13cb7833a8c5e5f3fa29.png

出现这种情况的原因是两个函数使用的参数中对位置的定义不一样,通过调整scatter()函数的参数可以达到这一目的,代码如下:

eb317801cc87c8c2b8ec1380fd71fc8f.png

运行结果:

e74b0b1c2ceb7bc694ffe37b02a44a5f.png

现在两个图形的核心部分已经一样了,但是外围还略有区别,继续修改代码:

3e363845e236c2652de3db5f24bf37b6.png

运行结果:

b3aa7d93f489d7f6d45abb7156d35815.png
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门