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 相关文章推荐
理解Python中的With语句
Feb 02 Python
以一段代码为实例快速入门Python2.7
Mar 31 Python
pandas ix &iloc &loc的区别
Jan 10 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 Python
搭建python django虚拟环境完整步骤详解
Jul 08 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
python如何将两个txt文件内容合并
Oct 18 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
golang/python实现归并排序实例代码
Aug 30 Python
Python list和str互转的实现示例
Nov 16 Python
Django实现简单的分页功能
Feb 22 Python
如何理解python接口自动化之logging日志模块
Jun 15 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
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
枚举JavaScript对象的函数
2006/12/22 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
2016/12/01 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python实现的爬虫功能代码
2017/06/24 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python 显示数组全部元素的方法
2018/04/19 Python
创建Django项目图文实例详解
2019/06/06 Python
Python Pandas中根据列的值选取多行数据
2019/07/08 Python
python生成requirements.txt的两种方法
2019/09/18 Python
python分布式编程实现过程解析
2019/11/08 Python
python3中sys.argv的实例用法
2020/04/24 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
给儿子的表扬信
2014/01/15 职场文书
汽车广告策划方案
2014/05/31 职场文书
小学科学教学计划
2015/01/21 职场文书
公司员工手册范本
2015/05/14 职场文书
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS