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标准库内置函数complex介绍
Nov 25 Python
介绍Python中的__future__模块
Apr 27 Python
Python松散正则表达式用法分析
Apr 29 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
May 19 Python
python 接收处理外带的参数方法
Dec 03 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python远程邮件控制电脑升级版
May 23 Python
python循环嵌套的多种使用方法解析
Nov 29 Python
使用python+whoosh实现全文检索
Dec 09 Python
Python远程linux执行命令实现
Nov 11 Python
聊聊python在linux下与windows下导入模块的区别说明
Mar 03 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序列化反序列化的方法
2015/10/27 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
React-Native之定时器Timer的实现代码
2017/10/04 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
Vue中props的详解
2019/05/16 Javascript
python实现单向链表详解
2018/02/08 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
Python字典中的键映射多个值的方法(列表或者集合)
2018/10/17 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python连接Oracle之环境配置、实例代码及报错解决方法详解
2020/02/11 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
物业管理员岗位职责范文
2013/11/25 职场文书
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
信息系统专业个人求职信范文
2013/12/07 职场文书
城市轨道交通工程职业规划书范文
2014/01/18 职场文书
岗位说明书范文
2014/05/07 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
建国大业观后感800字
2015/06/01 职场文书
地道战观后感400字
2015/06/04 职场文书
七年级生物教学反思
2016/02/20 职场文书
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript