python可视化之颜色映射详解


Posted in Python onSeptember 15, 2021

本文主要介绍一下在学习可视化过程里遇到的一些情况

比如cmap=plt.cm.Blues的映射

import matplotlib.pyplot as plt
from random_walk import RandomWalk
# Keep making new walks, as long as the program is active.
while True:
    # Make a random walk.
    rw = RandomWalk(50_000)
    rw.fill_walk()
    # Plot the points in the walk.
    plt.style.use('classic')
    fig, ax = plt.subplots(figsize=(15, 9))
    point_numbers = range(rw.num_points)
    y_values=rw.y_values
    ax.scatter(rw.x_values, rw.y_values, c=y_values, cmap=plt.cm.Blues,
        edgecolors='none', s=1)
    # Emphasize the first and last points.
    ax.scatter(0, 0, c='green', edgecolors='none', s=100)
    ax.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none',
        s=100)
    # Remove the axes.
    ax.get_xaxis().set_visible(False)
    ax.get_yaxis().set_visible(False)
    plt.show()
    keep_running = input("Make another walk? (y/n): ")
    if keep_running == 'n':
        break
ax.scatter(rw.x_values, rw.y_values, c=range(50000), cmap=plt.cm.Blues,

这里的c和cmap是一起使用的

c是一个列表,列表里面的数值不一定要按照大小顺序排列,但是数值的大小对应着颜色映射,数值本身越小,颜色越浅。而数值的位置对应着点的顺序,列表里面的第一个数(不管大小),对应着由x_values和y_values产生的点

这里的y_values是由随机漫步产生的,第一个点到最后一个点是连续变化的,这种随机漫步会导致,第一个点到最后一个点的位置规律是有迹可循的(比如y值是从小到大变化的),局部看上去是随机的,但是趋势不是,趋势是有规律的。

所以列表里面的数值大小不固定,可能是从小到大,也可能是从大到小,例如下面这里是从小到大排列的。第一个点对应的数值小,所以颜色浅,反之最后一个点数值大,颜色深。第一个点偏上,最后一个点偏下,说明y应该是逐渐变小的,那么y_values应该是从大到小,所以对应的点的颜色就是从深到浅。也就是说点的位置变化(如y值)有规律,那么颜色的变化也是有规律的。因为在使用c=y_values的时候,是根据点的y值来的。

总之,关键字实参c=point_numbers的列表里面数字的位置对应点的顺序,而数值的大小,对应颜色深浅。

python可视化之颜色映射详解

反之,如果c=y_values,第一个点到最后一个点的y值是从低到高的话,那么颜色是由浅到深的。

python可视化之颜色映射详解

这里的c=range(50000)的时候,数据是从小到大排列的,所以第一个点到最后一个点颜色从浅到深。点的位置变化有迹可循,颜色变化也有迹可循,所以整体看起来会比较有规律。

python可视化之颜色映射详解

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
django创建自定义模板处理器的实例详解
Aug 14 Python
Python读取word文本操作详解
Jan 22 Python
Python实现检测文件MD5值的方法示例
Apr 11 Python
flask中的wtforms使用方法
Jul 21 Python
Django中的forms组件实例详解
Nov 08 Python
python提取包含关键字的整行数据方法
Dec 11 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 Python
Python实现把类当做字典来访问
Dec 16 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
Python安装并操作redis实现流程详解
Oct 13 Python
Django展示可视化图表的多种方式
Apr 08 Python
python的变量和简单数字类型详解
Sep 15 #Python
深入浅析Django MTV模式
python 进阶学习之python装饰器小结
Sep 04 #Python
自动在Windows中运行Python脚本并定时触发功能实现
Sep 04 #Python
关于python爬虫应用urllib库作用分析
解决pycharm下载库时出现Failed to install package的问题
关于python类SortedList详解
Sep 04 #Python
You might like
redis 队列操作的例子(php)
2012/04/12 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
js简单实现交换Li的值
2014/05/22 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
2017/07/20 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
Python contextlib模块使用示例
2015/02/18 Python
Python函数可变参数定义及其参数传递方式实例详解
2015/05/25 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
python读写LMDB文件的方法
2018/07/02 Python
python实现两个文件夹的同步
2019/08/29 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
Python 定义只读属性的实现方式
2020/03/05 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
机工车间主任岗位职责
2014/03/05 职场文书
家电业务员岗位职责
2014/03/10 职场文书
社会实践活动总结范文
2014/07/03 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang