python可視化之顏色映射詳解
本文主要介紹一下在學(xué)習(xí)可視化過程里遇到的一些情況
比如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是一個列表,列表里面的數(shù)值不一定要按照大小順序排列,但是數(shù)值的大小對應(yīng)著顏色映射,數(shù)值本身越小,顏色越淺。而數(shù)值的位置對應(yīng)著點(diǎn)的順序,列表里面的第一個數(shù)(不管大小),對應(yīng)著由x_values和y_values產(chǎn)生的點(diǎn)
這里的y_values是由隨機(jī)漫步產(chǎn)生的,第一個點(diǎn)到最后一個點(diǎn)是連續(xù)變化的,這種隨機(jī)漫步會導(dǎo)致,第一個點(diǎn)到最后一個點(diǎn)的位置規(guī)律是有跡可循的(比如y值是從小到大變化的),局部看上去是隨機(jī)的,但是趨勢不是,趨勢是有規(guī)律的。
所以列表里面的數(shù)值大小不固定,可能是從小到大,也可能是從大到小,例如下面這里是從小到大排列的。第一個點(diǎn)對應(yīng)的數(shù)值小,所以顏色淺,反之最后一個點(diǎn)數(shù)值大,顏色深。第一個點(diǎn)偏上,最后一個點(diǎn)偏下,說明y應(yīng)該是逐漸變小的,那么y_values應(yīng)該是從大到小,所以對應(yīng)的點(diǎn)的顏色就是從深到淺。也就是說點(diǎn)的位置變化(如y值)有規(guī)律,那么顏色的變化也是有規(guī)律的。因?yàn)樵谑褂胏=y_values的時候,是根據(jù)點(diǎn)的y值來的。
總之,關(guān)鍵字實(shí)參c=point_numbers的列表里面數(shù)字的位置對應(yīng)點(diǎn)的順序,而數(shù)值的大小,對應(yīng)顏色深淺。
反之,如果c=y_values,第一個點(diǎn)到最后一個點(diǎn)的y值是從低到高的話,那么顏色是由淺到深的。
這里的c=range(50000)的時候,數(shù)據(jù)是從小到大排列的,所以第一個點(diǎn)到最后一個點(diǎn)顏色從淺到深。點(diǎn)的位置變化有跡可循,顏色變化也有跡可循,所以整體看起來會比較有規(guī)律。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- Python黑魔法之metaclass詳情
- 淺談Python的元編程
- Python辦公自動化PPT批量轉(zhuǎn)換操作
- Python辦公自動化解決world文件批量轉(zhuǎn)換
- Python函數(shù)式編程中itertools模塊詳解
- Python編程中Python與GIL互斥鎖關(guān)系作用分析
- Python3.10的一些新特性原理分析
- 一篇文章帶你了解Python和Java的正則表達(dá)式對比
- Python編程編寫完善的命令行工具
- python的變量和簡單數(shù)字類型詳解
- Python編程應(yīng)用設(shè)計原則詳解
- 關(guān)于Python中的if __name__ == __main__詳情
相關(guān)文章
Django基礎(chǔ)知識 URL路由系統(tǒng)詳解
這篇文章主要介紹了Django基礎(chǔ)知識 URL路由系統(tǒng)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07Python定時任務(wù)工具之APScheduler使用方式
APScheduler (advanceded python scheduler)是一款Python開發(fā)的定時任務(wù)工具。這篇文章主要介紹了Python定時任務(wù)工具--APScheduler的使用方式,需要的朋友可以參考下2019-07-07