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

在线开放课程“Python程序设计基础”第7次开课通知

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

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

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

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

推荐教材:

《Python程序设计(第3版)》,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月出版,2022年7月第13次印刷,山东省一流本科课程“Python应用开发”配套教材,清华大学出版社2020、2021年度畅销图书(本书第二版为2019、2020年度畅销图书)

京东购买链接:https://item.jd.com/12668739.html

天猫、当当、京东均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。

配套资源:教学大纲(基于工程教育专业认证,含课程思政)、电子教案、微课视频、PPT课件、例题源码、习题答案、在线练习系统。

适用专业:计算机、网络工程、软件工程以及相关专业。

适用学时:>=64

页数:381

定价:59.8

微课视频:124个,共24小时20分钟

教学大纲:《Python程序设计(第3版)》配套教学大纲

习题答案:《Python程序设计(第3版)》课后习题答案

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

在使用Python扩展库Matplotlib进行可视化时,不少函数支持使用参数cmap指定配色方案。例如,下面的代码模拟了一个3像素的图像并设置了Blues配色方案,实现了从白色到蓝色(蓝色分量饱和度从0到100%)的渐变,根据像素的值插值计算合适的颜色进行填充。

下面的代码设置了Blues_r配色方案,后缀_r表示反向映射,插值计算的方向与Blues相反。其他配色方案中带或不带后缀_r的一对也是插值填充方向相反。

下面的代码修改了像素的值,可以发现,配色方案把图像中最大值像素填充为白色,最小值像素填充为蓝色,并不关心具体的值,只关心值的范围和分布情况。也就是说,三像素图像300、800、200和三像素图像3、8、2的填充结果是一样的。

Matplotlib预置了166个配色方案,下面的代码可以列出Matplotlib预置的全部配色方案:

这些配色方案大致可以分为下面的几类:

1)Sequential:在两种色调之间近似平滑变化,通常是从低饱和度(例如白色)到高饱和度(例如明亮的蓝色)。颜色过度自然,容易和连续的数字对应。例如,'Blues', 'BuGn', 'BuPu', 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu', 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd', 'afmhot', 'autumn', 'bone', 'cool', 'copper', 'gist_heat', 'gray', 'hot', 'pink', 'spring', 'summer', 'winter'以及对应的反方向配色方案都属于这一类型。

2)Uniform:标准色两端对比大,整体饱和度高,颜色鲜亮。例如,'viridis', 'inferno', 'plasma', 'magma'以及对应的反方向配色方案都属于这一类型。

3)Diverging:具有中间值(通常是浅色),并在高值和低值处平滑变化为两种不同的色调,两端对比大,但是用白色、灰色过度,整体偏灰。Cyclic和Diverging相反,两端偏灰,但中间颜色对比鲜明。例如,'BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral', 'seismic'以及对应的反方向配色方案都属于这一类型。

4)Qualitative:离散化色图,效果离散、跳跃,不同颜色区别很大。例如,'Accent', 'Dark2', 'Paired', 'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3'以及对应的反方向配色方案都属于这一类型。

5)Miscellaneous:其他配色方案,例如'gist_earth', 'terrain', 'ocean', 'gist_stern', 'brg', 'CMRmap', 'cubehelix', 'gnuplot', 'gnuplot2', 'gist_ncar','nipy_spectral', 'jet', 'rainbow', 'gist_rainbow', 'hsv', 'flag', 'prism'以及对应的反方向配色方案。

下面的代码分别使用Matplotlib预置的166种配色方案对同一个图像进行填充并展示了不同配色方案的效果。

运行结果如下:

为方便比较同一组配色方案的插值方向,修改上面的代码如下(请自行发现修改之处):

运行结果如下:

下面代码演示了如何在绘制三维曲面时指定配色方案:

下面代码演示了如何在绘制散点图时设置配色方案:

温馨提示:

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

Python可视化扩展库Matplotlib中使用参数cmap实现颜色映射相关推荐

  1. 爱因斯坦求和约定在Python扩展库Numpy中的实现

    推荐教材: <Python数据分析.挖掘与可视化>(慕课版)(ISBN:978-7-115-52361-7),董付国,人民邮电出版社,定价49.8元,2020年1月出版,2021年12月第 ...

  2. Python线性代数扩展库numpy.linalg中几个常用函数

    本文内容节选自董付国老师2000页Python系列课件第17章"数据分析.科学计算.可视化.机器学习"(本章PPT共410页). ----------相关阅读---------- ...

  3. Python扩展库numpy中where()函数的三种用法

    第一种用法:只给where()函数传递一个数组作为参数,返回其中非0元素的下标. 第二种用法:给where()函数传递一个包含True/False值的数组,返回该数组中True值的下标,结合numpy ...

  4. python使用matplotlib可视化、查看matplotlib中常用的线条形式(line style)和数据点标记形状(marker)

    python使用matplotlib可视化.查看matplotlib中常用的线条形式(line style)和数据点标记形状(marker) 目录

  5. Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)、水平条形图(horizontal bar)

    Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等).水平条形图(horizontal bar) 目录

  6. Python科学计算扩展库numpy中的广播运算

    首先解答上一个文章Python扩展库numpy中的布尔运算中的问题,该题答案为[111, 33, 2],题中表达式的作用是按列表中元素转换为字符串后的长度降序排序. ----------------- ...

  7. python的os库的remove可以删除只带有只读属性的_扩展库os中的方法remove()可以删除带有只读属性的文件。(2.0分)_学小易找答案...

    [填空题]已知 x = {1, 2, 3},那么执行语句 x.add(3) 之后,x的值为__.(2.6分) [填空题]假设已从标准库functools导入reduce()函数,那么表达式 reduc ...

  8. 2021-04-28 Python可视化图表生成-Matplotlib绘图

    Python可视化图表生成-Matplotlib Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib 安装 pip ins ...

  9. python安装扩展库常用_树Python安装扩展库常用的是()工具

    树Python安装扩展库常用的是()工具 创业的要素主要包括:①创业者②资金③项目④场地A:错B:对 边缘检测最通用的方法是检测亮度值的不连续性,这样的不连续是用一阶和二阶导数检测的.A:对B:错 由 ...

最新文章

  1. ubuntu搭建jdk1.8运行环境(下载jdk方式)
  2. Android中的线性布局
  3. bash编程练习题及答案
  4. php 获取对象所有成员变量,PHP成员变量获取对比
  5. wps vba宏插件_合并和拆分表格,告别VBA和插件,用WPS表格自带功能一键搞定,而且免费!...
  6. 网站去色的通用方法(简单)
  7. 任务栏图标变成白色怎么办
  8. 由两个重要极限推导常见等价无穷小以及常见导数公式
  9. 央行降息 北上广深和厦门南京房价反弹可能性最大
  10. html 鼠标单击显示div,3.1.2 利用鼠标单击实现DIV的选取
  11. FPGA通信第一篇--USB2.0
  12. 槛外人观察 :语义和语用
  13. 梯度和梯度算子(Roberts,Sobel,Laplace)
  14. 咸鱼带你学计算机网络—概论
  15. 李宏毅 bert 讲解
  16. landsat5数据下载1985年中国地区
  17. 工作无小事(第六周(2014.3.31~2014.4.6))
  18. STM32超声波模块(HC-SR04\US015)测试程序-HAL库函数
  19. 面试官常问的10个Linux问题
  20. c语言编程六度空间,六度空间理论的图论法证明及应用

热门文章

  1. PCIe扫盲——PCIe简介
  2. 创蓝253短信平台代码实现
  3. 中英文数字混合的复合格式处理
  4. 查询计算机软件运行的时间,BootTime(电脑运行时间查询)
  5. 看看你去苹果公司的话能挣多少钱
  6. Vue3+Ant-design项目启用ts/typescript
  7. arcgis制作符号
  8. 基于Java(JSP)+MySQL实现盐鱼二手物品交易网站【100010280】
  9. java 定时器 每天凌晨_java定时器 每天凌晨 固定执行一个方法
  10. 【让你从0到1学会C语言】指针/数组传参以及static关键字