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是由隨機漫步產生的,第一個點到最后一個點是連續(xù)變化的,這種隨機漫步會導致,第一個點到最后一個點的位置規(guī)律是有跡可循的(比如y值是從小到大變化的),局部看上去是隨機的,但是趨勢不是,趨勢是有規(guī)律的。
所以列表里面的數值大小不固定,可能是從小到大,也可能是從大到小,例如下面這里是從小到大排列的。第一個點對應的數值小,所以顏色淺,反之最后一個點數值大,顏色深。第一個點偏上,最后一個點偏下,說明y應該是逐漸變小的,那么y_values應該是從大到小,所以對應的點的顏色就是從深到淺。也就是說點的位置變化(如y值)有規(guī)律,那么顏色的變化也是有規(guī)律的。因為在使用c=y_values的時候,是根據點的y值來的。
總之,關鍵字實參c=point_numbers的列表里面數字的位置對應點的順序,而數值的大小,對應顏色深淺。
反之,如果c=y_values,第一個點到最后一個點的y值是從低到高的話,那么顏色是由淺到深的。
這里的c=range(50000)的時候,數據是從小到大排列的,所以第一個點到最后一個點顏色從淺到深。點的位置變化有跡可循,顏色變化也有跡可循,所以整體看起來會比較有規(guī)律。
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!