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

2023年暑假“Python数据采集、分析与可视化原理及实战”研修班通知

董付国老师Python系列教材推荐与选用参考

开学第一课:一定不要这样问老师Python问题

3000道Python习题免费在线练习

==============

版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。

=============

推荐教材:

董付国著,《Python数据分析与数据可视化(微课版)》,ISBN:978-7-302-62420-2,清华大学出版社,2023年6月出版

配套资源:教学大纲、课件、源码、数据文件、34小时微课

492d3b469d8e51ce0fe6042308b2e29a.jpeg

========================

任务描述:

在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

================

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过190次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2601道客观题和657道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值