python可视化之颜色映射详解
本文主要介绍一下在学习可视化过程里遇到的一些情况
比如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的列表里面数字的位置对应点的顺序,而数值的大小,对应颜色深浅。
反之,如果c=y_values,第一个点到最后一个点的y值是从低到高的话,那么颜色是由浅到深的。
这里的c=range(50000)的时候,数据是从小到大排列的,所以第一个点到最后一个点颜色从浅到深。点的位置变化有迹可循,颜色变化也有迹可循,所以整体看起来会比较有规律。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注hwidc的更多内容!
【原URL http://www.yidunidc.com/kt.html 转载请说明出处】