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实现的一个p2p文件传输实例
Jun 04 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
TensorFlow实现简单卷积神经网络
May 24 Python
Python中if elif else及缩进的使用简述
May 31 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python里dict变成list实例方法
Jun 26 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Python+OpenCv制作证件图片生成器的操作方法
Aug 21 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
python numpy中multiply与*及matul 的区别说明
May 26 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 之入门篇
2006/12/04 PHP
php的access操作类
2008/04/09 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
JavaScript 继承使用分析
2011/05/12 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
原生js实现移动小球(碰撞检测)
2020/12/17 Javascript
利用Python脚本生成sitemap.xml的实现方法
2017/01/31 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
css3实现input输入框颜色渐变发光效果代码
2014/04/02 HTML / CSS
留学自荐信
2013/10/10 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
医学生求职信
2014/07/01 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
个人求职自荐信范文
2015/03/06 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
小学教师见习总结
2015/06/23 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js