python可视化之颜色映射详解

作者:ALEKOWO 时间:2021-01-27 01:23:52 

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

比如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可视化之颜色映射详解

来源:https://blog.csdn.net/weixin_56414269/article/details/120277538

标签:python,可视化,颜色映射
0
投稿

猜你喜欢

  • MySQL优化全攻略--相关数据库命令

    2008-11-01 17:03:00
  • Python爬取qq空间说说的实例代码

    2021-04-28 01:29:50
  • firebug1.7调试实用技巧指南

    2011-06-27 20:17:22
  • python-opencv获取二值图像轮廓及中心点坐标的代码

    2021-03-10 01:12:02
  • 基于Django的乐观锁与悲观锁解决订单并发问题详解

    2021-07-14 19:42:08
  • JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)

    2024-04-17 09:52:06
  • python热力图实现的完整实例

    2023-03-02 17:10:35
  • Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式

    2024-04-23 09:08:58
  • python实现简单图片物体标注工具

    2021-09-07 21:31:50
  • python同时给两个收件人发送邮件的方法

    2021-10-23 07:31:36
  • MySQL5.7.18主从复制搭建(一主一从)教程详解

    2024-01-25 12:55:03
  • 页面制作中要注意的编码问题

    2008-08-11 12:43:00
  • Linux mysql安装修改root密码服务

    2010-10-14 13:59:00
  • python操作数据库获取结果之fetchone和fetchall的区别说明

    2024-01-26 22:59:47
  • Python OpenCV阈值处理详解

    2023-10-07 19:38:47
  • python异步任务队列示例

    2021-05-04 03:09:07
  • 三大UML建模工具Visio、Rational Rose、PowerDesign的区别比较

    2022-05-27 12:22:45
  • 浅谈python中对于json写入txt文件的编码问题

    2022-01-28 05:08:58
  • python学习之列表的运用

    2023-08-02 03:11:30
  • 使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友

    2022-05-12 03:35:29
  • asp之家 网络编程 m.aspxhome.com