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之复习if语句
Oct 02 Python
python中pygame模块用法实例
Oct 09 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
Python设置Socket代理及实现远程摄像头控制的例子
Nov 13 Python
Python网络编程中urllib2模块的用法总结
Jul 12 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
python实现飞机大战
Sep 11 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
May 13 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
Python 多进程原理及实现
Dec 21 Python
python urllib和urllib3知识点总结
Feb 08 Python
Python制作春联的示例代码
Jan 22 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中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
javascript preload&lazy load
2010/05/13 Javascript
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
推荐17个优美新鲜的jQuery的工具提示插件
2012/09/14 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
jquery写出PC端轮播图实例
2018/01/26 jQuery
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
js实现带有动画的返回顶部
2020/08/09 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
Python的一些用法分享
2012/10/07 Python
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python的randrange()方法使用教程
2015/05/15 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
python批量下载抖音视频
2019/06/17 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
策划助理岗位职责
2013/11/18 职场文书
软件项目开发计划书
2014/05/01 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
维稳工作承诺书
2015/01/20 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle